Search code examples
delphidelphi-xe2firemonkeytstringgridlivebindings

How to show more than 200 rows in TStringGrid using LiveBindings?


I have a TDataSource that is backed by a TClientDataset bound to a TStringGrid. I did this by right-clicking on the grid, selecting "Link to DB Datasource...", and selecting the DataSource. This setup the LiveBindings for me.

When I run the application, the grid only fills with 200 rows, even though there are 5000 records in the dataset.

I'm unable to find any documentation regarding how to change the number of rows displayed or the proper way to allow the user to scroll through all of the data.

I did find the hard coded 200 value in TBindScopeDBEnumerator.Create in the unit Data.Bind.DBScope, and when I increase it to 10000, I see all 5000 rows in the grid, but this seems like a hack.

What's the proper way to show more than 200 rows in a TStringGrid?


Solution

  • You need to change the TBindDBGridLink.BufferCount at designtime from -1 to whatever value you need.