I have finished implementing virtual column rendering (in addition to rows) for v2.1 and I need your help testing it! Please test it out in your app and let me know if you hit any issues (log them on GitHub).
Overview: This commit brings virtual rendering to grid columns in addition to already virtualized rows. This significantly speeds up the rendering for grids with large number of rows (more than two horizontal pages worth), makes the DOM tree much more lean, and leaves a more"performance headroom" for the actual application. Whereas before, 100 columns slowed SlickGrid down considerably, it is now able to handle a 1'000 columns with ease. Once the actual column headers are rewritten to do virtual rendering as well, that number will increase another order of magnitude.
Things to look for when testing: - Async post rendering. - Keyboard navigation. - Selection / active cell management. - Column manipulation (resize / reorder / change columns / autosize). - Event handling.
Also, grid.getCellNode() may now return null for cells that are outside the viewport, so make sure your code can handle it (technically, it did that before already, but only when the whole row was outside the viewport; not it does that for individual cells as well).
I have noticed that latest scroll method included in 2.0.2 version, scrollRowToTop(row), and latest scrollTo(y) changes are not included in 2.1 version. I've just downloaded 2.1.20120908 version via NuGet Packages plugin for VS2010.
On Friday, July 6, 2012 11:54:35 PM UTC+2, Tin wrote:
> Hey guys,
> I have finished implementing virtual column rendering (in addition to > rows) for v2.1 and I need your help testing it! Please test it out in your > app and let me know if you hit any issues (log them on GitHub).
> Overview: > This commit brings virtual rendering to grid columns in addition to > already virtualized rows. This significantly speeds up the rendering for > grids with large number of rows (more than two horizontal pages worth), > makes the DOM tree much more lean, and leaves a more"performance headroom" > for the actual application. Whereas before, 100 columns slowed SlickGrid > down considerably, it is now able to handle a 1'000 columns with ease. > Once the actual column headers are rewritten to do virtual rendering as > well, that number will increase another order of magnitude.
> Things to look for when testing: > - Async post rendering. > - Keyboard navigation. > - Selection / active cell management. > - Column manipulation (resize / reorder / change columns / autosize). > - Event handling.
> Also, grid.getCellNode() may now return null for cells that are outside > the viewport, so make sure your code can handle it (technically, it did > that before already, but only when the whole row was outside the viewport; > not it does that for individual cells as well).
Thanks for doing this work. I've been waiting for virtual column rendering months ago and it's finally here!
A few months ago I integrated an older version of SlickGrid (2.0.x) into an application but now want to take advantage of virtual column rendering. Do I need to change anything to make this work? I use a custom AJAX data store implementation to retrieve row data on the fly. Do I need to modify this somehow? I think it's currently retrieving all columns for each row it needs, but this might not make sense with the new virtual column code. I imagine it should just retrieve the columns that are visible?
We have instances where there are thousands of rows and other instances where there are hundreds or thousands of columns. SlickGrid has been a great help so far, and I hope we can take advantage of the new column virtualization to make it scale to all our data.
On Friday, July 6, 2012 3:54:35 PM UTC-6, Tin wrote:
> Hey guys,
> I have finished implementing virtual column rendering (in addition to > rows) for v2.1 and I need your help testing it! Please test it out in your > app and let me know if you hit any issues (log them on GitHub).
> Overview: > This commit brings virtual rendering to grid columns in addition to > already virtualized rows. This significantly speeds up the rendering for > grids with large number of rows (more than two horizontal pages worth), > makes the DOM tree much more lean, and leaves a more"performance headroom" > for the actual application. Whereas before, 100 columns slowed SlickGrid > down considerably, it is now able to handle a 1'000 columns with ease. > Once the actual column headers are rewritten to do virtual rendering as > well, that number will increase another order of magnitude.
> Things to look for when testing: > - Async post rendering. > - Keyboard navigation. > - Selection / active cell management. > - Column manipulation (resize / reorder / change columns / autosize). > - Event handling.
> Also, grid.getCellNode() may now return null for cells that are outside > the viewport, so make sure your code can handle it (technically, it did > that before already, but only when the whole row was outside the viewport; > not it does that for individual cells as well).