TTMSFNCCustomDataGrid.Group Method
Groups the data rows by the values of a column.
API unit family: TMSFNCDataGrid
Declaring type: TTMSFNCCustomDataGrid
Overloads
Overload 1
Groups the data rows by the values of a column.
procedure Group(AColumn: Integer); overload;
void __fastcall Group(int AColumn)/* overload */;
Remarks
Rows are sorted on the column and a collapsible node row is inserted above every distinct value. The grouped column is hidden when Options.Grouping.HideColumns is True (False by default). OnGroup is only fired for grouping through the header visual grouping zone, not by this method.
Nothing happens (a log message is emitted) when the grid is already grouped (call Ungroup first) or when the data area contains merged cells.
Parameters
| Name | Description |
|---|---|
AColumn |
Zero-based column index to group by. |
Examples
Grid.Group(2);
Overload 2
Groups the data rows on several columns, one nesting level per column.
procedure Group(AColumns: TArray<Integer>; ASortColumns: TArray<Integer> = nil; ACustomGroupCallback: TTMSFNCDataGridDataGetCustomGroupCallback = nil; ACustomCompareCallback: TTMSFNCDataGridDataCustomCompareCallback = nil; AGroupOptionsCallback: TTMSFNCDataGridDataGetGroupOptionsCallback = nil; ASortOptionsCallback: TTMSFNCDataGridDataGetSortOptionsCallback = nil); overload;
void __fastcall Group(System::DynamicArray<int> AColumns, System::DynamicArray<int> ASortColumns = System::DynamicArray<int>(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetCustomGroupCallback ACustomGroupCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetCustomGroupCallback(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataCustomCompareCallback ACustomCompareCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataCustomCompareCallback(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetGroupOptionsCallback AGroupOptionsCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetGroupOptionsCallback(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetSortOptionsCallback ASortOptionsCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetSortOptionsCallback())/* overload */;
Remarks
The same preconditions as the single-column overload apply: the grid must not be grouped yet and the data area must not contain merged cells.
Parameters
| Name | Description |
|---|---|
AColumns |
Zero-based column indexes to group by, outermost level first. |
ASortColumns |
Optional columns used to sort the rows inside each group. |
ACustomGroupCallback |
Optional callback that returns a custom group key for a value (for example to group dates by month); when nil, OnGetCustomGroup is used. |
ACustomCompareCallback |
Optional callback for custom value comparison; when nil, OnCustomCompare is used. |
AGroupOptionsCallback |
Optional callback that adjusts the grouping options per level; when nil, OnGetGroupOptions is used. |
ASortOptionsCallback |
Optional callback that adjusts the sort options; when nil, OnGetSortOptions is used. |
Overload 3
Groups the data rows as described by a group info record, for example one read from
GroupInfoearlier.
procedure Group(AGroupInfo: TTMSFNCDataGridDataGroupInfo; ACustomGroupCallback: TTMSFNCDataGridDataGetCustomGroupCallback = nil; ACustomCompareCallback: TTMSFNCDataGridDataCustomCompareCallback = nil; AGroupOptionsCallback: TTMSFNCDataGridDataGetGroupOptionsCallback = nil; ASortOptionsCallback: TTMSFNCDataGridDataGetSortOptionsCallback = nil); overload;
void __fastcall Group(const TTMSFNCDataGridDataGroupInfo &AGroupInfo, Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetCustomGroupCallback ACustomGroupCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetCustomGroupCallback(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataCustomCompareCallback ACustomCompareCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataCustomCompareCallback(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetGroupOptionsCallback AGroupOptionsCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetGroupOptionsCallback(), Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetSortOptionsCallback ASortOptionsCallback = Fmx::Tmsfncdatagriddata::_di_TTMSFNCDataGridDataGetSortOptionsCallback())/* overload */;
Parameters
| Name | Description |
|---|---|
AGroupInfo |
Grouping description: the group columns and optional sort columns. |
ACustomGroupCallback |
Optional callback to produce a custom group key string. |
ACustomCompareCallback |
Optional callback for custom value comparison during sort. |
AGroupOptionsCallback |
Optional callback to supply per-column grouping options. |
ASortOptionsCallback |
Optional callback to supply per-column sort options. |