AD
Administrator
Syncfusion Team
September 27, 2004 02:26 PM UTC
Hi Mike,
the grouping engine will iterate through all record you provide and sort/categorize them manually. Therefore if you assign a datasource to the engine each record needs to be accesses at least once and memory is allocated for it. So, if you give it a million rows that can take a while (e.g. check out the GroupingPerf example with 200-300 000 records) and it will also consume quite a bit of memory (I guess at least 300 or 400 MB of memory).
With a virtual grid you have the advantage that all you need to know is the row count and records are only access when displayed. But you have lots of work to implement to get them into a tree-like display.
One idea would be to page the data before you assign them to grouping engine. Say you have a chunk of 1000 records, you assign a first chunk of data to the engine, setup columns, appearance etc. Then when you want to display the next 1000 records you just assign the next 1000 records and set Table.TableDirty = true. The grid will then categorize those records but keep columns and appearance information and just display those new records.
Stefan