recalcBufListSize method

void recalcBufListSize()

Implementation

void recalcBufListSize() {
  if (!isCursorOpen()) return;

  int aBufferCount;
  if (isUniDirectional) {
    aBufferCount = 1;
  } else {
    aBufferCount = defaultBufferCount;
  }

  for (var i = 0; i < myDataSourceCount; i++) {
    final src = myDataSources(i);
    for (var j = 0; j < src.dataLinkCount; j++) {
      final dataLink = src.dataLink(j);
      if (aBufferCount < dataLink.bufferCount) {
        aBufferCount = dataLink.bufferCount;
      }
    }
  }

  if (_bufferCount == aBufferCount) return;

  setBufListSize(aBufferCount);
  getNextRecords();
  if (_recordCount < _bufferCount && !isUniDirectional) {
    _activeRecord = _activeRecord + getPriorRecords();
    cursorPosChanged();
  }
  for (var i = 0; i < myDataSourceCount; i++) {
    final src = myDataSources(i);
    for (var j = 0; j < src.dataLinkCount; j++) {
      src.dataLink(j).calcRange();
    }
  }
}