selectRowsWhere method

void selectRowsWhere(
  1. bool test(
    1. T value
    ), {
  2. bool additive = false,
})

Select every visible row matching test. Replaces the selection unless additive. In single-row mode only the last match survives.

Implementation

void selectRowsWhere(bool Function(T value) test, {bool additive = false}) {
  if (!_isRowMode) return;
  if (!additive) _selRows.clear();
  int? lastMaster;
  for (var v = 0; v < _viewMaster.length; v++) {
    final m = _viewMaster[v];
    if (test(_all[m])) {
      _selRows.add(m);
      lastMaster = m;
    }
  }
  if (selectionMode == ReadableSelectionMode.singleRow && _selRows.length > 1 && lastMaster != null) {
    _selRows
      ..clear()
      ..add(lastMaster);
  }
  if (lastMaster != null) _activeMaster = lastMaster;
  notifyListeners();
}