获取subgrid中所有业务推荐字段
Get all business recommended fields in subgrid
如何检查子网格的特定字段或列是否为业务推荐?我想使用网络资源来做到这一点。同样由于某些要求,我将不得不使用存在子网格的表单的执行上下文,而不是子网格本身的执行上下文。
这有点棘手,因为在加载表单时,子网格没有数据。所以你必须使用表单的 load
事件将 load
事件附加到子网格。
这在MS Docs Page中有描述。你可以这样做
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);
}
现在您的网格有一个 'load' 事件,因此您可以遍历它的行并检查它的数据
我没能让它在不包含数据的子网格上工作
我得到了子格中的第一个row
。一旦我有了它,我们就可以遍历每一行的 attributes
。每个属性都有以下方法:
getName Returns the logical name of the attribute of a selected grid
row.
getRequiredLevel Returns a string value indicating whether a
value for the attribute is required or recommended.
setRequiredLevel Sets whether data is required or recommended for the
attribute of a selected grid row before the record can be saved.
getValue Retrieves the data value for an attribute.
setValue Sets the
data value for an attribute.
我正在使用一些现代浏览器功能(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);
}
}
如何检查子网格的特定字段或列是否为业务推荐?我想使用网络资源来做到这一点。同样由于某些要求,我将不得不使用存在子网格的表单的执行上下文,而不是子网格本身的执行上下文。
这有点棘手,因为在加载表单时,子网格没有数据。所以你必须使用表单的 load
事件将 load
事件附加到子网格。
这在MS Docs Page中有描述。你可以这样做
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);
}
现在您的网格有一个 'load' 事件,因此您可以遍历它的行并检查它的数据
我没能让它在不包含数据的子网格上工作
我得到了子格中的第一个row
。一旦我有了它,我们就可以遍历每一行的 attributes
。每个属性都有以下方法:
getName Returns the logical name of the attribute of a selected grid row.
getRequiredLevel Returns a string value indicating whether a value for the attribute is required or recommended.
setRequiredLevel Sets whether data is required or recommended for the attribute of a selected grid row before the record can be saved.
getValue Retrieves the data value for an attribute.
setValue Sets the data value for an attribute.
我正在使用一些现代浏览器功能(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);
}
}