Dynamics crm 获取子网格中的所有业务推荐字段

Dynamics crm 获取子网格中的所有业务推荐字段,dynamics-crm,microsoft-dynamics,subgrid,webresource,Dynamics Crm,Microsoft Dynamics,Subgrid,Webresource,如何检查子网格的特定字段或列是否为业务推荐字段或列?我想使用web资源来完成这项工作。同样由于一些要求,我将不得不使用存在子网格的表单的执行上下文,而不是子网格本身的执行上下文。这有点棘手,因为在加载表单时,子网格没有数据。因此,您必须使用表单的load事件将load事件附加到子网格 本文对此进行了描述。你可以这样做 function attachGridEvent(executionContext) { var formContext = executionContext.getFormC

如何检查子网格的特定字段或列是否为业务推荐字段或列?我想使用web资源来完成这项工作。同样由于一些要求,我将不得不使用存在子网格的表单的执行上下文,而不是子网格本身的执行上下文。

这有点棘手,因为在加载表单时,子网格没有数据。因此,您必须使用表单的
load
事件将
load
事件附加到子网格

本文对此进行了描述。你可以这样做

function attachGridEvent(executionContext)
{
  var formContext = executionContext.getFormContext();
  var gridContext = formContext.getControl("gridCategories");

  // We have the grid, now add a "load" event handler
  gridContext.addOnLoad(MyGridLoadedEvent);
}
现在,您的网格有了一个“加载”事件,这样您就可以遍历它的行并检查它的数据

对于不包含数据的子网格,我无法使其正常工作

我得到子网格中的第一行
。一旦有了它,我们就可以循环遍历行的
属性。每个属性都有以下方法:

getName返回选定网格属性的逻辑名称 划船

getRequiredLevel返回一个字符串值,指示 属性的值是必需的或建议的

setRequiredLevel设置是需要数据还是推荐数据 保存记录之前所选网格行的属性

getValue检索属性的数据值

设置值设置 属性的数据值

我正在使用一些现代浏览器功能(
map
=>
),但这段代码应该适合您

function MyGridLoadedEvent(evt)
{
  var gridContext = evt.getEventSource();
  var rows = gridContext.getGrid().getRows();

  if (rows.getLength() > 0)
  {
    let rowAttributes = rows.getByIndex(0).getAttribute();
    let mappedResults = rowAttributes.map(x => x.getName() + " : " + x.getRequiredLevel());

    alert(mappedResults);
  }
}

不清楚-在找到子网格记录必填字段后,您想做什么?请参阅“”和链接页面以及“”。