Row Indicator
The row indicator is the optional leading region at the start of the grid. It can combine record status, row numbers, and row-selection controls in one compact area.
FdcGrid(
dataSet: customers,
columns: customerColumns,
options: const FdcGridOptions(readOnly: true),
toolbar: FdcGridToolbar(
items: [
const FdcGridMainMenuButton(),
FdcGridButton(
icon: Icons.check_box_outlined,
label: 'Show selected',
onPressed: () => customers.filter.selected(true).apply(),
),
FdcGridButton(
icon: Icons.check_box_outline_blank,
label: 'Show unselected',
onPressed: () => customers.filter.selected(false).apply(),
),
FdcGridButton(
icon: Icons.deselect,
label: 'Clear selection',
onPressed: customers.selection.unselectAll,
),
],
),
rowIndicator: const FdcGridRowIndicator(
visible: true,
options: FdcGridRowIndicatorOptions(
showRecordStatus: true,
showRowNumbers: true,
showRowSelect: true,
),
),
);
Enable the row indicator
The component is opt-in:
FdcGrid(
dataSet: customers,
rowIndicator: const FdcGridRowIndicator(
visible: true,
),
)
The default row-indicator content shows record status. Row numbers and row selection are enabled independently through FdcGridRowIndicatorOptions.
Compose the indicator content
FdcGrid(
dataSet: customers,
rowIndicator: const FdcGridRowIndicator(
visible: true,
options: FdcGridRowIndicatorOptions(
showRecordStatus: true,
showRowNumbers: true,
showRowSelect: true,
),
),
)
| Option | Purpose |
|---|---|
showRecordStatus | Shows the current record state, including browse/current, edit or modified, and inserted states. |
showRowNumbers | Shows row numbers in the leading region. |
showRowSelect | Shows row-selection checkboxes and the header selection affordance. |
The three elements are independent. A grid can show only numbering, only selection, only record status, or any combination of them.
Record status and current record
The record-status element reflects dataset and grid navigation state. It does not create a second selection model and is independent of multi-row selection.
This distinction is important:
- the current record is the dataset row used for navigation and editing;
- row selection marks one or more records for batch workflows;
- the row indicator presents status, numbering, and selection controls for those concepts.
Row numbers
Enable row numbers when users need a compact visual position reference:
const FdcGridRowIndicator(
visible: true,
options: FdcGridRowIndicatorOptions(
showRecordStatus: false,
showRowNumbers: true,
),
)
For paged datasets, row numbering follows the global record position rather than restarting visually at one on every page.
Row selection controls
const FdcGridRowIndicator(
visible: true,
options: FdcGridRowIndicatorOptions(
showRecordStatus: false,
showRowNumbers: true,
showRowSelect: true,
),
)
Each row control toggles that record in the dataset selection model. The header affordance selects or clears the visible selection set. Current-record navigation remains independent.
Use the dataset selection API to consume the selected records from application code; see Selection.
Main grid menu location
When the row indicator is visible, it also hosts the grid main menu when main-menu actions are available. When the row indicator is hidden, those actions are exposed through column header menus instead.
This keeps the same grid actions reachable without forcing a permanently visible leading region.