Grid Filtering
FdcGrid(
dataSet: customers,
columns: customerColumns,
header: const FdcGridHeader(
filters: FdcGridHeaderFilters(
visible: true,
initiallyVisible: true,
),
),
);
The grid can manage a header filter row while using the same dataset filtering pipeline described in DataSet Filtering. Header filter UI is disabled by default.
Header filter visibility
FdcGrid(
dataSet: customers,
header: const FdcGridHeader(
filters: FdcGridHeaderFilters(visible: true),
),
)
visible: true enables the grid-managed filter UI. Because initiallyVisible defaults to true, the filter row is shown immediately once the feature is enabled. Set initiallyVisible: false when filters should be available from the grid menu but collapsed on first render. Programmatic dataset filtering remains available regardless of the grid UI setting.
Debounce behavior
const FdcGridHeaderFilters(
visible: true,
options: FdcGridFilterOptions(
debounceDuration: Duration(milliseconds: 300),
debouncePolicy: FdcDebouncePolicy.adaptive,
),
)
adaptive uses the configured duration as a base and allows FDC to increase the effective delay for larger datasets. disabled keeps text edits local until explicit submission.
Per-column filtering
const FdcTextColumn<dynamic>(
fieldName: 'company',
filterConfig: FdcColumnFilterConfig(
defaultOperator: FdcFilterOperator.contains,
caseSensitive: false,
),
)
Disable filtering for one column:
const FdcProgressColumn<dynamic>(
fieldName: 'completion',
filterConfig: FdcColumnFilterConfig(enabled: false),
)
Runtime commands
await controller.clearFilters();
controller.showFilters();
await controller.hideFilters();
Header filter operators are constrained by field type, column configuration, and adapter capability when the dataset is paged.