Grid Filtering
Filtering grid
Loading FDC sample…
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 visibility
FdcGrid(
dataSet: customers,
header: const FdcGridHeader(
filters: FdcGridHeaderFilters(
visible: true,
initiallyVisible: true,
),
),
)
Set visible: false to disable grid-managed filter UI completely. Programmatic dataset filtering remains available.
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.