Master / Detail can be enabled using the masterDetail grid option with detail rows configured using
detailCellRendererParams as shown below:
const gridOptions = {
// enable Master / Detail
masterDetail: true,
// the first Column is configured to use agGroupCellRenderer
columnDefs: [
{ field: 'name', cellRenderer: 'agGroupCellRenderer' },
{ field: 'account' }
],
// provide Detail Cell Renderer Params
detailCellRendererParams: {
// provide the Grid Options to use on the Detail Grid
detailGridOptions: {
columnDefs: [
{ field: 'callId' },
{ field: 'direction' },
{ field: 'number'}
]
},
// get the rows for each Detail Grid
getDetailRowData: params => {
params.successCallback(params.data.callRecords);
}
},
// other grid options ...
}The example below shows a simple Master / Detail with all the above configured.
Set the grid property masterDetail=true. This tells the grid to allow expanding rows to display Detail Grids.
Set the Cell Renderer on one Master Grid column to agGroupCellRenderer. This tells the grid to use the Group Cell Renderer which in turn includes the expand / collapse functionality for that column.
Set the Detail Cell Renderer* parameter detailGridOptions. This contains configuration for the Detail Grid such as what columns to display and what grid features you want enabled inside the Detail Grid.
Provide a callback via the Detail Cell Renderer* parameter getDetailRowData. The callback is called for each Detail Grid and sets the rows to display in each Detail Grid.
To learn more about detailCellRendererParams configuration see the
Detail Grids section.
When using Master / Detail the Master Grid must be using either the Client-Side or Server-Side Row Models. It is not supported with the Viewport or Infinite Row Models.
The Detail Grid on the other hand can use any Row Model.
Top level Master Detail properties available on the Grid Options:
master | Set to true to enable Master Detail. |
is | Callback to be used with Master Detail to determine if a row should be a master row. If false is returned no detail row will exist for this row. |
detail | Provide a custom detailCellRenderer to use when a master row is expanded.See: Custom Detail |
detail | Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. See: Detail Grids |
detail | Set fixed height in pixels for each detail row. See: Fixed Height |
detail | Set to true to have the detail grid dynamically change it's height to fit it's rows. See: Auto Height |
embed | Set to true to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . |
keep | Set to true to keep detail rows for when they are displayed again. |
keep | Sets the number of details rows to keep. |
Detail Cell Renderer parameters available on the detailCellRendererParams object:
Properties available on the IDetailCellRendererParams<TData = any, TDetail = any> interface.