我正在运行Dynamics CRM 2011 RU 18,并且正在更改JavaScript以便与此新版本兼容。
我有一个多选查找,我添加了一个事件处理程序,可以保存对值的修改。
添加到onLoad事件的代码:
document.getElementById(lookupSchemaName).setAttribute("lookupstyle", "multi");
document.getElementById(lookupSchemaName).setAttribute("_lookupstyle", "multi");
Xrm.Page.getAttribute(lookupSchemaName).addOnChange(function () {Update(...)})
Xrm.Page.getAttribute(lookupSchemaName).setSubmitMode("never");
if (Xrm.Page.ui.getFormType() != CRM_FORM_TYPE_CREATE) {
FillMultiLookup(relationshipSchemaName, lookupSchemaName, relatedEntitySchemaName, relatedEntityPrimaryAttributeSchemaName);
}
else {
Xrm.Page.getControl(lookupSchemaName).setDisabled(true);
}
奇怪的是,当查找选择了一个元素时,它只会进入我的onChange处理程序方法。当选择多个元素时,它将不会进入我的onChange处理程序
答案 0 :(得分:0)
前两行是绕过Xrm.Page API直接操作CRM表单页面的DOM。 Microsoft不支持此操作,可能会导致不可预测的结果。
在这种特定情况下,您不能简单地更改仅包含一个值的查找字段,并期望它支持多个值。它根本不起作用,因为相应的实体关系不适应它。
CRM中存在的少数多个查找字段都是内置字段。不幸的是我们无法添加自定义的。