CRM中有一种Field的类型是Option Set。每一个option都是由一对 label +
value组成的。比如我下面图中的Option Set,它的第一个option的Label是Logistic – Incorrect
item,而它的value为267060000。
下面我分别演示一下在CRM的前端与后端如何获得Option Set 的Label 与 Value。
(一)前端
如果是使用JScript获得某个Option Set field的Label 或者 Value,比如在Form的OnLoad事件处理器中,可以用
获得 Label:
Xrm.Page.getAttribute(fieldname).getText();
获得 Value:
Xrm.Page.getAttribute(fieldname).getValue();
如果Option Set为Unassigned Value,上面方法获得Label为空字符””,Value值为null。
我们也可以遍历一个Option Set 的所有options:
var objControl = Xrm.Page.getControl(fieldname);
var objOptions = objControl.getAttribute().getOptions();
for (var i = 0; i < objOptions.length; i++) {
alert(objOptions[i].text);
alert(objOptions[i].value);
}
(二) 后端
运行在服务器上的代码(C#或者VB)该如何获得某个Option Set的Label或Value呢?
以插件(plugin)中的代码为例,获得Value很简单,可以使用