3 May 2012 4:49 AM #11
One last thing. This post should probably not be marked as "Success! Looks like we've fixed this one." and instead marked as "You found a bug!" since it is technically not fixed and still an issue in the latest release.
From a user perspective the known status of a issue is sometimes as important as getting the issue addressed.
3 May 2012 11:30 AM #12
The problems with infinite grids are compounded not because of the count of records in each group but the number of distinct groups. This is just because each group header will occupy space in the view and the algorithm we use to virtualize the scrolling space cannot really take that into account. There are a few places where we "project" the rendered view into the virtual space where all other records are counted as having a nominal height and then where we project backwards.
We plan to make another go at conceptualizing this interplay, but at present, I expect this will create a discontinuous result in the math due to the presence of group headers.
3 May 2012 10:38 PM #13
4 May 2012 6:44 AM #14
7 May 2012 3:53 PM #15
I have a similar use case where users want Grouping with potential large datasets, it quickly becomes a performance issue ...
I've read all this thread. The discussion is really interesting !
I think that for scenarios where the dataset is not too big, it could be interesting to have a solution where the backends returns all the grouping info with the subset of data (group value and total count). This way, all information will be available for doing right calculations.
I know this will cause overhead on the backend but I think it is better this than the alternative to have the client do all the work and download all the data.
Also, to simplify things, maybe we should explore using another kind of rendering/GUI where, having recieved all the groups information from the backend, the user could pick the group he wants to see and than use "standard" infinite scrolling for that group by only adding a filter on the store.
What do you think ?