Thank you.
I just played around with GridVirtualizingCollectionView using entities, LINQ to firebird. It turns out when scrolling is loaded on 50 items of necessity, like everything is normal.
SELECT FIRST 50 SKIP 0 t0.ID, t0.F1, t0.F2 AS DATETIME, t0.F3, t0.F4
FROM NEW_TABLE AS t0
....
But when I grouped by the column F1. From the trace I saw a request for all items-
SELECT t0.ID, t0.F1, t0.F2 AS DATETIME, t0.F3, t0.F4
FROM NEW_TABLE AS t0
Expand the group F1:140 - 200 items
and we get two queries to each other on all items
SELECT t0.ID, t0.F1, t0.F2 AS DATETIME, t0.F3, t0.F4
FROM NEW_TABLE AS t0
If you continue scrolling down, you will see that periodically loading elements, but again with a request for all items.
SELECT t0.ID, t0.F1, t0.F2 AS DATETIME, t0.F3, t0.F4
FROM NEW_TABLE AS t0
I understand it should not be.
When I played with the Devexpress grid, with the option ServerMode. There completely was logic to download the missing data using LINQ queries to the database supports grouping and filtering. Do I understand correctly that if i want something like that, then need to inherit the class GridVirtualizingCollectionView and write my code by overriding methods? Maybe missing something? Is there a similar mechanism for GridGroupingControl in WinForms?
Attachment:
SFFirebirdWPF_b0419185.7z