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).