activeChanged method

  1. @override
void activeChanged()
override

Implementation

@override
void activeChanged() {
  if (active) {
    _dataSet = dataSet;
    if (dataSetName != _dataSetName) {
      _dataSetName = dataSetName;
      if (dataSet != null) onNewDataSet?.call(dataSet!);
    } else {
      if (dataSet != null) onDataSetOpen?.call(dataSet!);
    }
  } else {
    bufferCount = 0;
    if (dataSource == null) {
      if (_dataSet != null) onInvalidDataSource?.call(_dataSet!);
      _dataSet = null;
      _dataSetName = '[???]';
    } else {
      if (dataSet == null ||
          dataSet!.componentState
              .contains(TComponentStateItem.csDestroying)) {
        if (_dataSet != null) onInvalidDataSet?.call(_dataSet!);
        _dataSet = null;
        _dataSetName = '[???]';
      } else {
        if (dataSet != null) onDataSetClose?.call(dataSet!);
        if (dataSet != null) _dataSetName = dataSetName;
      }
    }
  }
}