TlistView and paged AureliusDataset

Hi,



I am using XE7, with Aurelius 2.5.0. in an iOS app.

I have a TListview that I populate through livebindings from an AureliusDataset. Even though I feed the Aureliusdataset through a paged Criteria, the TListview fetches all the data. I can see in from the listener that it does actually fetches in parts, but the Tlistview seems to keep asking for more data.



Can a Tlistview somehow be used in conjunction with a paged Dataset? Do the TMS native ios components do a better job with this? If so, are there any examples of the TMS components with a paged Aureliusdataset? I would be happy to purchase the TMS components if they do what I need.



Hi, unfortunately it seems to be a limitation of live bindings/list view itself. It just goes on and on until it grabs all records from the dataset. It seems there is not much we (and any other TDataset) can do to improve this, as far as I know.

So how would one go about when scrolling through a large table. I have a contacts table that contains about 5.000 records. I want the user to view this table and scroll or jump to a letter. Like the contacts list in your Phone.



I played around with your TableView component, it has a buffersize property that supposed to create only the given amount of items. But this also fetches the entire table.



Is it just not possible to show a large table in firemonkey\Aurelius? Surely I am not the only one with this problem. I am curious as to how other people implemented this. I cannot seem to find samples or posts about this problem.

Kick, as I said, this is not "Firemonkey/Aurelius". It's Firemonkey. You would have the same issue with other datasets, as far as I know. I will ask the TMS Firemonkey team to answer you if we have controls that work around this.

Hi, 


The only component that currently loads the data on demand is the TTMSFMXLiveGrid.
Loading 5000 records should be no issue, it will only load and display the records for the visible Rows.

Kind Regards, 
Pieter

Thats great! I just purchased your Firemonkey component pack so I have this component. I just cant see any samples or documentation about this component.



Is this just straight forward linking with livebindings?

Hi, 


It should be the same approach as TTMSFMXGrid. 

Kind Regards, 
Pieter

Then it's not working. It is also fetching ALL records even though I have a paged criteria on the AureliusDataset. What should I set to have it only fetch the first x records?



Is there any documentation on TMSFMXLivegrid? I searched over the demos, but "livegrid" wasn't even found in de demos.



TTMSFMXLiveGrid is the same as TTMSFMXGrid with this exception that the data is loaded dynamically, only for the visible rows. The documentation is indentical as the TTMSFMXGrid. We have tested this here with a TClientDataSet with 1000 rows and 200.000 rows and could not see an issue. 


TTMSFMXLiveGrid uses the same approach as TGrid while TTMSFMXGrid uses the same approach as TStringGrid. Are you able to reproduce this issue with TGrid as well?

Kind Regards, 
Pieter

Yes, TGrid does the same thing. It fetches all records, fireing paged sql selects through the criteria of the Aureliusdataset until all records are fetched.



Should the TGrid and TTMSFMXliveGrid fetch only a portion of the dataset? if so, does this also work for paged criteria's or should i use a cursor for the AureliusDataset?

If the grid fetches only the needed records (i.e, if it performs Dataset.Next only for the visible records, not necessarily until Dataset.EOF is true), then it doesn't matter if you are using cursor or paged criteria in Aurelius Dataset - both should work.

TTMSFMXLiveGrid only fetches the data for the visible cells so it's unclear why it loops through all the records. If it's reproducible with TGrid then the issue lies elsewhere. It's unclear which settings are needed in Aurelius in order to only load the necessary records.


Kind Regards, 
Pieter

Wagner, can I email you my simpel testproject with data, so you can see what I am doing wrong?

Yes, sure.