The TDbAdvGrid component has one fundamental error, which does not allow to use it in database applications.
If many records are used, I use PageMode to avoid reading thousands of records. But if I use right scroll bar or just use Query.Locate method to find some record in the middle of the table, then the empty lines appear. The records are not read and the user can see only empty grid or half of the grid lines have records and the second half is empty.
If PageMode is not set, it works even worse: if I use Query.Locate, the grid is not set to a proper line - it is not changed at all.
Could you check / repair it / explain, how to use it correctly?
Thank you in advance.
Try to toggle the setting DBAdvGrid.DataSetType
Thank you for quick response and the advice. Now all the records are visible.
However now I have the problems with navigation. If I try to find proper record using locate, the grid finds page with that record, but the current record mark is on the wrong record.
If I touch scroll lock, the grid moves to the last page of dataset.
Maybe there are some more settings to correct this?
I have retested this here by adding a Locate() call for the ADOTable in the ADOEditing demo for TDBAdvGrid, but I could not see this issue. What is different in your application from this demo?
I am using Devart Unidac database components (TUniQuery) with Firebird and MS SQL Server Databases.
We do not have these database components installed here.
Can it be reproduced with standard DB access components included with Delphi?