Dynamically add and remove value in the CRM optionset
If you have any doubt in the post please post comments. I will try to solve your problem.
Option set control is used for populating a group of static values in CRM. In option set there are two types.
In our example, we have two business unit("TAN","TAZ"), one business unit has different timezone and other business unit has different time zone. So based on login user business unit we have to show/display some timezone value in the option set. In the timezone option set there 6 time zones is added by default.
If you have any doubt in the post please post comments. I will try to solve your problem.
Option set control is used for populating a group of static values in CRM. In option set there are two types.
- Local Option set
- Global Option set
In our example, we have two business unit("TAN","TAZ"), one business unit has different timezone and other business unit has different time zone. So based on login user business unit we have to show/display some timezone value in the option set. In the timezone option set there 6 time zones is added by default.
//get the ownerid var ownerid = Xrm.Page.getAttribute("ownerid").getValue(); //Get the business unit name based on user id SDK.REST.retrieveRecord( ownerid, "SystemUser", null, null, function(objResult) { populateTimezone(objResult.BusinessUnitId); }, errorHandler ); //Populate timezone option set based on business unit. function populateTimezone(dBusinessUnitId) SDK.REST.retrieveRecord( dBusinessUnitId, "BusinessUnit", null, null, function(objBusinessUnit) { //Get all the value from option set. var arrTimeZone = Xrm.Page.getAttribute('new_timezone').getOptions(); var objTimeZoneInstance = Xrm.Page.ui.controls.get('new_timezone'); if (objBusinessUnit.Name == "TAN") { objTimeZoneInstance.clearOptions(); objTimeZoneInstance.addOption(arrTimeZone[0]); objTimeZoneInstance.addOption(arrTimeZone[2]); objTimeZoneInstance.addOption(arrTimeZone[3]); } else { objTimeZoneInstance.clearOptions(); objTimeZoneInstance.addOption(arrTimeZone[1]); objTimeZoneInstance.addOption(arrTimeZone[4]); objTimeZoneInstance.addOption(arrTimeZone[5]); } }, errorHandler, function() { //OnComplete handler } ); } |
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.