ReadableTableController<T> constructor
ReadableTableController<T> ({
- required List<
ReadableColumn< columns,T> > - List<
T> ? rows, - ReadableSelectionMode selectionMode = ReadableSelectionMode.none,
- Set<
int> ? selectedRows, - Set<
ReadableCell> ? selectedCells, - int? sortColumn,
- bool sortAscending = true,
- List<
ReadableFilter> ? filters, - ReadableFilterJoin filterJoin = ReadableFilterJoin.all,
- String query = '',
- Iterable<
int> ? quickSearchColumns, - ReadableFilterGroup? filterGroup,
Implementation
ReadableTableController({
required List<ReadableColumn<T>> columns,
List<T>? rows,
this.selectionMode = ReadableSelectionMode.none,
Set<int>? selectedRows,
Set<ReadableCell>? selectedCells,
int? sortColumn,
bool sortAscending = true,
List<ReadableFilter>? filters,
ReadableFilterJoin filterJoin = ReadableFilterJoin.all,
String query = '',
Iterable<int>? quickSearchColumns,
ReadableFilterGroup? filterGroup,
}) : columns = List.unmodifiable(columns),
_all = [...?rows] {
_order.addAll(List<int>.generate(columns.length, (i) => i));
_selRows.addAll(selectedRows ?? const {});
_selCells.addAll(selectedCells ?? const {});
if (filters != null) _filters.addAll(filters);
_join = filterJoin;
_query = query;
if (quickSearchColumns != null) _quickCols = {...quickSearchColumns};
if (sortColumn != null && sortColumn >= 0 && sortColumn < columns.length) {
_sortCol = sortColumn;
_sortDir = sortAscending ? ReadableSortDir.asc : ReadableSortDir.desc;
}
if (filterGroup != null && filterGroup.isNotEmpty) _filterGroup = filterGroup;
_recompute(notify: false);
}