The ReadBuffer property affects how many records are transferred from the Server to the Client at once. This process is completely transparent to the application though, and is only used for network traffic optimization.
If QueryAllRecords is False, the controls that are connected the the DataSource of the DataSet determine how many records are read from the dataset. A DBGrid may initially read 50 records, in which case the following happens:
[*]The DataSet is opened. No records are fetched, because QueryAllRecords is False.
[*]The DBGrid reads 50 records. At this point, 100 records (ReadBuffer) are fetched from the Server. The AfterFetchRecord event is fired 50 times.
[*]You press page down, and the DBGrid reads another 50 records from the DataSet. Nothing is fetched from the Server (we already have 100 records buffered), and AfterFetchRecord is fired another 50 times.
[*]If you press page down again, another 100 records are fetched from the Server, the DBGrid reads 50 records, and AfterFetchRecord is fired 50 times.
[*]And so on...
[/list]
I hope this helps.
------------------
Marco Kalter
Allround Automations