Custom Group Columns can be provided to gain additional control over the group columns.
We advise against using your own group columns. Only do this if you require:
- The ability to position a column left of the group column, and
colDef.lockPosition
orcolDef.pinned
are insufficient. - Fine grain control of Multiple Group Columns configuration per column, where callbacks are unsupported.
Enabling a Single Custom Group Column
A Single Group Column can be configured by setting the groupDisplayType
grid option to "custom"
. The column displaying groups then needs to also be included in the columnDefs
with colDef.showRowGroup
set to true
, and the cellRenderer
set to 'agGroupCellRenderer'
.
The example above demonstrates the following configuration:
const [columnDefs, setColumnDefs] = useState([
{ field: 'country', rowGroup: true, hide: true },
{ field: 'year', rowGroup: true, hide: true },
{ headerName: 'Groups', showRowGroup: true, cellRenderer: 'agGroupCellRenderer' },
// ...other column definitions
]);
const groupDisplayType = 'custom';
<AgGridReact
columnDefs={columnDefs}
groupDisplayType={groupDisplayType}
/>
Enabling Multiple Custom Group Columns
Multiple Group Columns can be configured by setting the groupDisplayType
grid option to "custom"
.
Each column displaying groups needs to be included in the columnDefs
with colDef.showRowGroup
set to the colId
of the grouped column they are displaying. The colDef
also requires cellRenderer
to be set to 'agGroupCellRenderer'
.
The example above demonstrates the following configuration for configuring multiple groups columns:
const [columnDefs, setColumnDefs] = useState([
{ colId: 'country', field: 'country', rowGroup: true, hide: true },
{ colId: 'year', field: 'year', rowGroup: true, hide: true },
{ headerName: 'Country Groups', showRowGroup: 'country', cellRenderer: 'agGroupCellRenderer', },
{ headerName: 'Year Groups', showRowGroup: 'year', cellRenderer: 'agGroupCellRenderer', },
// ...other column definitions
]);
const groupDisplayType = 'custom';
<AgGridReact
columnDefs={columnDefs}
groupDisplayType={groupDisplayType}
/>
Next Up
Continue to the next section to learn about the Single Group Column.