cancel method

void cancel()

Implementation

void cancel() {
  if (_state == TDataSetState.dsEdit || _state == TDataSetState.dsInsert) {
    dataEvent(TDataEvent.deCheckBrowseMode, 0);
    doBeforeCancel();
    updateCursorPos();
    internalCancel();
    freeFieldBuffers();
    if (_state == TDataSetState.dsInsert && _recordCount == 1) {
      _eof = true;
      _bof = true;
      _recordCount = 0;
      initRecord(activeBuffer()!);
      setState(TDataSetState.dsBrowse);
      dataEvent(TDataEvent.deDataSetChange, 0);
    } else {
      setState(TDataSetState.dsBrowse);
      setCurrentRecord(_activeRecord);
      resync(<TResyncModeItem>{});
    }
    doAfterCancel();
  }
}