Nomadic отвечает:
Здесь отрывки из исходников VCL -
unit DBGrids; procedure TCustomDBGrid.UpdateScrollBar; var SIOld, SINew: TScrollInfo; begin [skipped] if IsSequenced then begin SINew.nMin := 1; SINew.nPage := Self.VisibleRowCount; SINew.nMax := RecordCount + SINew.nPage -1; if State in [dsInactive, dsBrowse, dsEdit] then SINew.nPos := RecNo; // else keep old pos end else begin SINew.nMin := 0; SINew.nPage := 0; SINew.nMax := 4; if BOF then SINew.nPos := 0 else if EOF then SINew.nPos := 4 else SINew.nPos := 2; end; [skipped] unit dbtables; function TBDEDataSet.IsSequenced: Boolean; begin Result := (FRecNoStatus = rnParadox) and (not Filtered); end; |
То есть, к примеру, все будет работать "красиво" на таблицах BDE, если они: