Dynamic 365 子网格编辑控制列可编辑
DOCS告诉我们了怎么配置子网格编辑,直接上链接,这里就不阐述了。 链接
我今天的重点是,咱们在项目中,肯定会遇到这种需求,在特定的单据状态下,允许编辑子网格的某几个字段,这时候,就得咱们发挥代码编写能力了。
直接上代码
//子网格控制
function onrowselect(executionContext) {
debugger;
// 发货状态
var ffs_status = Xrm.Page.getAttribute("ffs_status").getValue();
if (ffs_status!=1) {
var entityObject = executionContext.getFormContext().data.entity;
entityObject.attributes.forEach(function (attribute, i) {
var ctr = attribute.controls.get(0);
ctr.setDisabled(true);
});
} else {
var entityObject = executionContext.getFormContext().data.entity;
entityObject.attributes.forEach(function (attribute, i) {
var ctr = attribute.controls.get(0);
if (attribute.getName() == "ffs_delivery_quantity_new") {
ctr.setDisabled(false);
}else
ctr.setDisabled(true);
});
}
}
通过attribute.getName() 取到需要控制的字段,放开编辑就ok了。