configureRowSelection method
void
configureRowSelection({
- required TreeDataTableRowSelectionMode mode,
- Set<
Object> ? selectedRowIds, - Set<
Object> initialSelectedRowIds = const <Object>{}, - TreeDataTableRowSelectionChanged? onSelectionChanged,
- bool showCheckboxes = false,
- bool selectRowsOnTap = false,
- bool initializeUncontrolledSelection = false,
Configures row selection, supporting both controlled and uncontrolled use.
Implementation
void configureRowSelection({
required TreeDataTableRowSelectionMode mode,
Set<Object>? selectedRowIds,
Set<Object> initialSelectedRowIds = const <Object>{},
TreeDataTableRowSelectionChanged? onSelectionChanged,
bool showCheckboxes = false,
bool selectRowsOnTap = false,
bool initializeUncontrolledSelection = false,
}) {
rowSelectionMode = mode;
_onRowSelectionChanged = onSelectionChanged;
_selectionIsControlled = selectedRowIds != null;
showSelectionCheckboxes = showCheckboxes;
_selectRowsOnTap = selectRowsOnTap;
if (mode == TreeDataTableRowSelectionMode.none) {
_lastSelectionAnchorId = null;
_setSelectedRowIds(const <Object>{}, notifyCallback: false);
return;
}
if (selectedRowIds != null) {
_setSelectedRowIds(_normalizedSelection(selectedRowIds), notifyCallback: false);
} else if (initializeUncontrolledSelection) {
_setSelectedRowIds(_normalizedSelection(initialSelectedRowIds), notifyCallback: false);
}
}