禁用多选项 Select(自定义)CRM 365
Disable Multi Option Select (Custom) CRM 365
我找到了一个名为AmbekNet.Multiselect选项的解决方案,这里是解决方案:
Solution gitHub
在我的 CRM(8.2 v1612) 中,我想根据对另一个字段的选择来阻止所有字段。
我用javascript禁用了所有的表单,但是多选项选择被平均启用了。
AmbekNet 的解决方案是生成布尔字段的按钮,我尝试获取 webResource 和元素按钮并阻止它,但它不起作用。
这是我的 javascript 代码,用于禁用所有字段:
function setFieldDisabled() {
var optionset = Xrm.Page.getAttribute("abs_tipodecuenta").getValue();
if (optionset == null)
{
Xrm.Page.getAttribute("abs_tipodecuenta").setValue(100000000);
Xrm.Page.getControl("abs_tipodecuenta").setDisabled(true);
}
if (Xrm.Page.getAttribute("abs_tipodecuenta").getText() == 'Clientes' ||
Xrm.Page.getAttribute("abs_tipodecuenta").getText() == 'Agencias' ||
Xrm.Page.getAttribute("abs_tipodecuenta").getText() ==
'Distribuidores')
{
disableFormFields();
}
else {
enableFormFields();
Xrm.Page.getControl("abs_tipodecuenta").setDisabled(true);
}
}
function disableFormFields()
{
Xrm.Page.ui.controls.forEach(function (control, index) {
var controlType = control.getControlType();
if (controlType != 'iframe' && controlType != 'webresource' &&
controlType != 'subgrid')
{
control.setDisabled(true);
}
});
}
function enableFormFields()
{
Xrm.Page.ui.controls.forEach(function (control, index) {
var controlType = control.getControlType();
if (controlType != 'iframe' && controlType != 'webresource' &&
controlType != 'subgrid')
{
control.setDisabled(false);
}
});
}
这是我要阻止的 iframe:
MultiSelect
有人知道怎么屏蔽吗?
谢谢大家!
已解决!
在 abr_multiselect.js 文件中,我在方法 javascript:
中添加了这一行
function setValue(controlName, value) {
try {
var attr = window.parent.Xrm.Page.getAttribute(controlName);
if (window.parent.Xrm.Page.getAttribute("abs_tipodecuenta").getValue()
== 100000000)
{
alert(value + "guardando");
attr.setValue(value);
attr.setSubmitMode("always");
}
}
catch (e) {
if ( window.console && window.console.log )
console.log("Error: setValue", controlName, e.message);
}
};
仅当我的字段值为 100000000 时才设置值并保存。
我找到了一个名为AmbekNet.Multiselect选项的解决方案,这里是解决方案: Solution gitHub
在我的 CRM(8.2 v1612) 中,我想根据对另一个字段的选择来阻止所有字段。
我用javascript禁用了所有的表单,但是多选项选择被平均启用了。
AmbekNet 的解决方案是生成布尔字段的按钮,我尝试获取 webResource 和元素按钮并阻止它,但它不起作用。
这是我的 javascript 代码,用于禁用所有字段:
function setFieldDisabled() {
var optionset = Xrm.Page.getAttribute("abs_tipodecuenta").getValue();
if (optionset == null)
{
Xrm.Page.getAttribute("abs_tipodecuenta").setValue(100000000);
Xrm.Page.getControl("abs_tipodecuenta").setDisabled(true);
}
if (Xrm.Page.getAttribute("abs_tipodecuenta").getText() == 'Clientes' ||
Xrm.Page.getAttribute("abs_tipodecuenta").getText() == 'Agencias' ||
Xrm.Page.getAttribute("abs_tipodecuenta").getText() ==
'Distribuidores')
{
disableFormFields();
}
else {
enableFormFields();
Xrm.Page.getControl("abs_tipodecuenta").setDisabled(true);
}
}
function disableFormFields()
{
Xrm.Page.ui.controls.forEach(function (control, index) {
var controlType = control.getControlType();
if (controlType != 'iframe' && controlType != 'webresource' &&
controlType != 'subgrid')
{
control.setDisabled(true);
}
});
}
function enableFormFields()
{
Xrm.Page.ui.controls.forEach(function (control, index) {
var controlType = control.getControlType();
if (controlType != 'iframe' && controlType != 'webresource' &&
controlType != 'subgrid')
{
control.setDisabled(false);
}
});
}
这是我要阻止的 iframe: MultiSelect
有人知道怎么屏蔽吗?
谢谢大家!
已解决!
在 abr_multiselect.js 文件中,我在方法 javascript:
中添加了这一行function setValue(controlName, value) {
try {
var attr = window.parent.Xrm.Page.getAttribute(controlName);
if (window.parent.Xrm.Page.getAttribute("abs_tipodecuenta").getValue()
== 100000000)
{
alert(value + "guardando");
attr.setValue(value);
attr.setSubmitMode("always");
}
}
catch (e) {
if ( window.console && window.console.log )
console.log("Error: setValue", controlName, e.message);
}
};
仅当我的字段值为 100000000 时才设置值并保存。