Dynamically Change Option Set Values in CRM

為{幸葍}努か 提交于 2019-12-02 04:40:10

Re-wrote your function to match the criterion. The option is an object with both text and value. This is why you see undefined (missing text); So instead of

var customer = 100000000 

it needs to be

var customer = { value : 100000000 , text : "Customer" };

The code below saves each option in global scope and uses it each time you call populateBetaOptionSet

function populateBetaOptionSet(beta) {
    var xrmPage = Xrm.Page;
    var pickListField = xrmPage.getControl("intip_websiteaccess");
    var options = pickListField.getOptions();

    //save all options  
    if (!window.wsOptions)
    {
         window.wsOptions = {};
         wsOptions.customer = pickListField.getOption(100000000);
         wsOptions.partner = pickListField.getOption(100000001);
         wsOptions.partnerCustomer = pickListField.getOption(100000002);
         wsOptions.customerAndBeta = pickListField.getOption(100000003);
         wsOptions.partnerAndBeta = pickListField.getOption(100000004);
         wsOptions.partnerCustomerAndBeta = pickListField.getOption(100000005);
    }

    //clear all items
    for(var i = 0; i < options.length; i++)
    {
            pickListField.removeOption(options[i].value);           
    }

    if (beta == false) {
        pickListField.addOption(wsOptions.customer);
        pickListField.addOption(wsOptions.partner);
        pickListField.addOption(wsOptions.partnerCustomer);
    }

    pickListField.addOption(wsOptions.customerAndBeta);
    pickListField.addOption(wsOptions.partnerAndBeta);
    pickListField.addOption(wsOptions.partnerCustomerAndBeta);
}

Example use Xrm.Page.getControl(..).addOption :

    var low = {value : 100000000, text : "Low"};
    var medium = {value : 100000001, text : "Medium"};
    var high = {value : 100000002, text : "High"};

    var pickList = Xrm.Page.getControl("control_name");
    var options = pickList.getOptions();

    for (var i = 0; i < options.length; i++) 
        pickList.removeOption(options[i].value);

    pickList.addOption(low);
    pickList.addOption(medium);
    pickList.addOption(high);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!