编写子网格的脚本

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

您可以设置当数据在子网格中加载时事件处理程序执行脚本。 这提供了更改选定视图和获取对网格中显示的数据的引用的方法。

重要

CRM Online 2015 更新 1 和 CRM 2016(本地)引入了此功能。

在本主题中

子网格 OnLoad 事件

子网格对象模型

子网格 OnLoad 事件

子网格从窗体异步加载,因此不能可靠地访问窗体 OnLoad 事件的子网格中的数据。 但是,您可以设置子网格的 OnLoad 事件的事件处理程序。 此事件将在每次刷新网格中的数据时发生,其中包括用户对网格列排序时。

没有用户界面添加了此事件的新事件处理程序,因此,如果要执行此操作,您必须使用其他事件中的代码,通常是窗体 OnLoad 事件来使用 GridControl.addOnLoad 方法。 要删除此事件的事件处理程序,使用 GridControl.removeOnLoad 方法。

子网格对象模型

下图显示您可以从窗体中的子网格访问的对象。

网格控件对象

在此上下文中,子网格控件作为 GridControl 引用。 作为 Xrm.Page.ui 控件,除了 refresh 方法之外,子网格拥有所有对所有控件可用的方法。

当选择 SelectedControl 参数后可用时,GridControl 是使用 <CrmParameter> (RibbonDiffXml) 传递到命令栏或功能区操作或规则的同一对象。

使用 ViewSelector 更改视图

当网格被配置为显示视图选择器时,您可以获取或设置当前视图。 使用 GridControl.getViewSelector 方法访问视图选择器,然后使用 ViewSelector.getCurrentViewgetCurrentViewViewSelector.setCurrentView 方法通过查找对象获取或设置当前视图。

从网格获取数据

使用 GridControl.getGrid 方法访问网格。 使用 Grid.getRows 方法或 Grid.getSelectedRows 方法获取 GridRow 对象的集合。 然后,您可以通过将 GridRow.getDataGridRowData.getEntityGridEntity.getEntityReference 方法链接在一起访问行中对每个记录的引用。

另请参阅

网格(只读)对象和方法(客户端引用)
集合(客户端引用)
为 Microsoft Dynamics 365 窗体编写代码
在客户端上扩展 Microsoft Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权