Write scripts for subgrids


Updated: November 29, 2016

Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

You can set event handlers to execute scripts when data is loaded in subgrids. This provides methods to change the selected view and get references to data displayed in the grid.


This feature was introduced in CRM Online 2015 Update 1 and CRM 2016 (on-premises).

Subgrids load asynchronously from the form so you can’t reliably get access to the data in the subgrid in the form OnLoad event. But you can set an event handler for the OnLoad event of the subgrid. This event will occur each time the data in the grid is refreshed, this includes when users sort the columns of the grid.

There is no user interface to add new event handlers for this event, so if you want to do so, you must use code in another event, typically the form OnLoad event to use the GridControl.addOnLoad method. To remove event handlers for this event, use the GridControl.removeOnLoad method.

The diagram below shows the objects you can access from a subgrid in a form.

Grid control objects

The subgrid control is referred to as a GridControl in this context. As an Xrm.Page.ui control, the subgrid has all the methods available to all controls in addition to the refresh method.

The GridControl is the same object passed to a command bar or ribbon actions or rules using the <CrmParameter> (RibbonDiffXml) when available when the SelectedControl parameter is selected.

When a subgrid is configured to display a view selector you can get or set the current view. Use the GridControl.getViewSelector method to access the view selector and then the ViewSelector.getCurrentViewgetCurrentView and ViewSelector.setCurrentView methods to get or set the current view with a lookup object.

Use the GridControl.getGrid method to access the grid. Use the Grid.getRows method or Grid.getSelectedRows method to get a collection of GridRow objects. You can then access a reference to each record in the row by chaining together the GridRow.getData, GridRowData.getEntity, and GridEntity.getEntityReference methods.

Microsoft Dynamics 365

© 2016 Microsoft. All rights reserved. Copyright