Skip to main content

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.

Row indicator
Loading FDC sample…
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,
),
),
)
OptionPurpose
showRecordStatusShows the current record state, including browse/current, edit or modified, and inserted states.
showRowNumbersShows row numbers in the leading region.
showRowSelectShows 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.