A plugin that renders group rows and enables them to expand and collapse.
Use the following statement to import a plugin with embedded theme components:
import { TableGroupRow } from '@devexpress/dx-react-grid-material-ui';
// import { TableGroupRow } from '@devexpress/dx-react-grid-bootstrap4';
// import { TableGroupRow } from '@devexpress/dx-react-grid-bootstrap3';
If you want to use custom components, you can import the themeless plugin:
import { TableGroupRow } from '@devexpress/dx-react-grid';
Name | Type | Default | Description |
---|---|---|---|
showColumnsWhenGrouped? | boolean | false | A Boolean value that specifies whether the grid's table displays a column by which data is grouped. |
columnExtensions? | Array<TableGroupRow.ColumnExtension> | Additional column properties that the plugin can handle. | |
cellComponent | ComponentType<TableGroupRow.CellProps> | A component that renders a group cell. | |
rowComponent | ComponentType<TableGroupRow.RowProps> | A component that renders a group row. | |
contentComponent | ComponentType<TableGroupRow.ContentProps> | A component that renders a group cell content. | |
iconComponent | ComponentType<TableGroupRow.IconProps> | A component that renders a group expand icon. | |
indentCellComponent? | ComponentType<TableGroupRow.IndentCellProps> | null | A component that renders a group indent cell. |
inlineSummaryComponent | ComponentType<TableGroupRow.InlineSummaryProps> | A component that renders a container for group summary items in a group caption. | |
inlineSummaryItemComponent | ComponentType<TableGroupRow.InlineSummaryItemProps> | A component that renders a single group summary item in a group caption. | |
summaryCellComponent | ComponentType<TableGroupRow.SummaryCellProps> | A component that renders a cell for a group summary item in an appropriate column. | |
summaryItemComponent | ComponentType<TableSummaryRow.ItemProps> | A component that renders a group summary item in its column. | |
stubCellComponent | ComponentType<TableGroupRow.StubCellProps> | A component that renders a stub cell used to align summary items in their columns. | |
formatlessSummaryTypes | Array<string> | Summary types that the DataTypeProvider plugin should not format. |
|
messages? | TableGroupRow.LocalizationMessages | Localization messages. | |
indentColumnWidth | number | 33 for Bootstrap4 and for Bootstrap; 48 for Material-UI |
The group indent column's width. |
contentCellPadding | string | 0.75rem for Bootstrap4; 8px for Bootstrap and for Material-UI |
The group cell's left padding value. |
Describes additional column properties that the plugin can handle.
Field | Type | Description |
---|---|---|
columnName | string | The name of a column to extend. |
showWhenGrouped? | boolean | Specifies whether the grid displays the column by which data is grouped. |
Describes a summary item to be displayed in a group caption.
Field | Type | Description |
---|---|---|
columnTitle | string | The title of the column for which the summary item is calculated. |
type | SummaryType | The summary type. |
value | number | The summary value. |
messageKey | string | A key used to get a localized message. |
component | ReactNode | A React node used to render the summary value. |
Describes properties passed to a component that renders a group cell.
Extends Table.CellProps
Field | Type | Description |
---|---|---|
row | GroupRow | The group row. |
column | Column | The column associated with the group. |
expanded | boolean | Specifies whether the row is expanded. |
onToggle | () => void | An event that initiates group row expanding or collapsing. |
inlineSummaries | Array<GroupInlineSummary> | Summary items in this container. |
inlineSummaryComponent | ComponentType<TableGroupRow.InlineSummaryProps> | A component that renders a container for group summary items in a group caption. |
inlineSummaryItemComponent | ComponentType<TableGroupRow.InlineSummaryItemProps> | A component that renders an inline group summary item. |
getMessage | (messageKey: string) => string | A function that uses the message ID to get a localized message. |
Describes properties passed to a component that renders a group row.
Extends Table.RowProps
Field | Type | Description |
---|---|---|
row | GroupRow | The group row. |
Describes properties passed to a component that renders a group cell content.
Field | Type | Description |
---|---|---|
row | GroupRow | The group row. |
column | Column | The column associated with the group. |
children? | ReactNode | A React node to be rendered within the cell content. |
Describes properties passed to a component that renders a group expand icon.
Field | Type | Description |
---|---|---|
expanded | boolean | Specifies whether the row is expanded. |
Describes properties passed to a component that renders a group indent cell.
Extends Table.CellProps
Field | Type | Description |
---|---|---|
row | GroupRow | The group row. |
column | Column | A column associated with the group. |
Describes properties passed to a component that renders a container for summary items to be displayed in a group caption.
Field | Type | Description |
---|---|---|
inlineSummaries | Array<GroupInlineSummary> | Summary items in this container. |
inlineSummaryItemComponent | ComponentType<TableGroupRow.InlineSummaryItemProps> | A component that renders an inline group summary item. |
getMessage | (messageKey: string) => string | A function that uses the message ID to get a localized message. |
Describes properties passed to a component that renders a summary item in a group caption.
Field | Type | Description |
---|---|---|
summary | SummaryItem | The summary item. |
getMessage | (messageKey: string) => string | A function that gets a localized message by message ID. |
Describes properties passed to a component that renders a cell for a summary item in an appropriate column.
Field | Type | Description |
---|---|---|
row | GroupRow | The group row. |
column | Column | The column for which the summary is calculated. |
onToggle | () => void | A function that is executed when the group row is expanded or collapsed. |
children | ReactNode | A React node to be rendered within the cell. |
Describes properties passed to a component that renders a stub cell used to align summary items in their columns.
Extends Table.CellProps
Field | Type | Description |
---|---|---|
onToggle | () => void | A function that is executed when a group row is expanded or collapsed. |
Describes the group row structure.
Field | Type | Description |
---|---|---|
key | number | string | The current group key. |
value | any | The current group value. |
Field | Type | Default | Description |
---|---|---|---|
count? | string | 'Count' | Specifies a text for a count summary item when it is displayed in a column. |
sum? | string | 'Sum' | Specifies a text for a sum summary item when it is displayed in a column. |
min? | string | 'Min' | Specifies a text for a min summary item when it is displayed in a column. |
max? | string | 'Max' | Specifies a text for a max summary item when it is displayed in a column. |
avg? | string | 'Avg' | Specifies a text for a avg summary item when it is displayed in a column. |
countOf? | string | 'Count: ' | Specifies a text for a count summary item when it is displayed in a group caption. |
sumOf? | string | 'Sum of {columnTitle} is' | Specifies a text for a sum summary item when it is displayed in a group caption. |
minOf? | string | 'Min of {columnTitle} is' | Specifies a text for a min summary item when it is displayed in a group caption. |
maxOf? | string | 'Max of {columnTitle} is' | Specifies a text for a max summary item when it is displayed in a group caption. |
avgOf? | string | 'Avg of {columnTitle} is' | Specifies a text for a avg summary item when it is displayed in a group caption. |
Name | Properties | Description |
---|---|---|
TableGroupRow.Row | TableGroupRow.RowProps | A component that renders a group row. |
TableGroupRow.Cell | TableGroupRow.CellProps | A component that renders a group cell. |
TableGroupRow.Content | TableGroupRow.ContentProps | A component that renders a group cell content. |
TableGroupRow.Icon | TableGroupRow.IconProps | A component that renders a group expand icon. |
TableGroupRow.InlineSummary | TableGroupRow.InlineSummaryProps | A component that renders a container for group summary items in a group caption. |
TableGroupRow.InlineSummaryItem | TableGroupRow.InlineSummaryItemProps | A component that renders a single group summary item in a group caption. |
TableGroupRow.SummaryCell | TableGroupRow.SummaryCellProps | A component that renders a cell for a group summary item in an appropriate column. |
TableGroupRow.SummaryItem | TableSummaryRow.ItemProps | A component that renders a group summary item in its column. |
Additional properties are added to the component's root element.
Field | Type | Description |
---|---|---|
COLUMN_TYPE | symbol | The group column type's identifier. |
ROW_TYPE | symbol | The group row type's identifier. |
Name | Plugin | Type | Description |
---|---|---|---|
columns | Getter | Array<Column> | The grid columns. |
tableColumns | Getter | Array<TableColumn> | Table columns. |
tableBodyRows | Getter | Array<TableRow> | Table body rows. |
grouping | Getter | Array<Grouping> | Current grouping options. |
draftGrouping | Getter | Array<Grouping> | Grouping options used for the preview. |
expandedGroups | Getter | Array<GroupKey> | Expanded groups. |
isGroupRow | Getter | (row: any) => boolean | A function used to identify a group row within ordinary rows. |
toggleGroupExpanded | Action | ({ groupKey: GroupKey }) => void | Toggles the group's expanded state. |
tableCell | Template | Table.CellProps | A template that renders a table cell. |
tableRow | Template | Table.RowProps | A template that renders a table row. |
valueFormatter | Template | DataTypeProvider.ValueFormatterProps | A template that renders the formatted value. |
Name | Plugin | Type | Description |
---|---|---|---|
tableColumns | Getter | Array<TableColumn> | Table columns, including the ones by which the table is grouped. |
tableBodyRows | Getter | Array<TableRow> | Table body rows with modified group rows. |