dynamics crm界面上使用js过滤显示值的方法

在dynamcis crm中,经常会遇到因为界面上某个字段的值,去触发optionset字段类型的字段显示的值只显示其中一部分,这时候就需要借用dynamics crm

提供的方法进行过滤处理:

实例如下:

//optionset字段值过滤
function OptionSetAddRemoveBasedOnLookup() {

    var lookupItem = Xrm.Page.getAttribute("statuscode").getValue(); // Replace lookup field Name

    if (lookupItem != null) {
        var optionSet = Xrm.Page.ui.controls.get("new_bill_rate");
        var optionSetValues = optionSet.getAttribute().getOptions(); // retrieve All options of Option set field
        optionSet.clearOptions();
        optionSetValues.forEach(function (element) {
            if (lookupItem == "2") {
                if (element.value == "3")
                    optionSet.addOption(element);
                if (element.value == "10")
                    optionSet.addOption(element);
                if (element.value == "4")
                    optionSet.addOption(element);
                else
                    optionSet.removeOption(element);
            }
        });

    }
}

对于已存在的值,过了显示optionset值可能导致显示异常,所以采用如下方法过滤:

//保留values中的值,移除其余的值
function saleTypeValueFilter() {
    var values = [0, 1];
    filterOptionSet("new_saletype", values);
}

//通用过滤选项集值的函数 attributeName:需要过滤的选项集的属性名 valuesArr:需要保留的选项值
function filterOptionSet(attributeName, valuesArr) {
    var optionSet = Xrm.Page.ui.controls.get(attributeName);
    var optionSetValues = optionSet.getAttribute().getOptions(); // retrieve All options of Option set field
    //optionSet.clearOptions();
    optionSetValues.forEach(function (element) {
        var index = valuesArr.indexOf(element.value);
        if (index === -1)
            optionSet.removeOption(element.value);
        //else
        //optionSet.addOption(element);
    }, valuesArr);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值