天天看点

Dynamic 365 子网格编辑控制列可编辑

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了。

继续阅读