Juan19
DataGridView Virtualization Implementation
update post:
Right now I'm trying to come up with a caching technique. so my technique work like this
1 group = 10 row
cache size = 50 row, so it has 5 group
Grid visible row = 10 row
buffer size = 10 row
let's say the Grid displayed data is on the row position 501 - 510, so the cache will contain row position 481 - 530, now when the user scroll down until the first displayed row in the grid view reach 511, it will trigger asynchronous cache update method which remove 10 row on the top and add 10 new row on the bottom, so the cache row position become 491 - 540.
in other word, it will trigger cache update for every 10 row shift. also while it update the cache asynchronously, it still have 10 row buffer to display so it doesn't wait for the method to finish first in order to get the next value
Is this a good caching technique? or is there a better or conventional way? also is there a name for this technique?
3 replies