Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 882
Marcus Adams Avatar asked Dec 21 '11 14:12

Marcus Adams


2 Answers

You can change the TBindDBGridLink.BufferCount for a value you want rather -1. But it's better to set the TBindDBGridLink.AutoBufferCount to True.

like image 71
Alain V Avatar answered Oct 17 '22 00:10

Alain V


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

like image 42
LachlanG Avatar answered Oct 17 '22 00:10

LachlanG