在365中引入了subgrid的行可编辑,那随之带来的一个问题就是,在主表单禁用的状态下,如何禁用行编辑呢,这里就用到了subgrid的OnRecordSelect方法。

   代码很简单,   我这里是禁用了所有字段的编辑,当然如果你的业务需要可以禁用个别字段而不是全部

function onrowselect(executionContext) {
    var entityObject = executionContext.getFormContext().data.entity;
    entityObject.attributes.forEach(function (attribute, i) {
            var emailControl = attribute.controls.get(0);
            emailControl.setDisabled(true);        
    });
}

   表单里的设置也很简单,点开要设置的subgrid的属性,会看到一个叫events的tab,绑定方法

Dynamics 365 可编辑子网格的字段禁用不可编辑-冯金伟博客园

   因为这里用到了执行上下文,所以图中的红框里的勾要打上

Dynamics 365 可编辑子网格的字段禁用不可编辑-冯金伟博客园

  我们去看下效果,按照以往的操作,我们去点击一下准备编辑的时候,已经是锁定状态

Dynamics 365 可编辑子网格的字段禁用不可编辑-冯金伟博客园

原文地址:https://blog.csdn.net/vic0228/article/details/74178209?utm_source=blogxgwz38