A BufferedStore allows only a small section of a potentially very large server-side dataset to be loaded when required to be displayed, and then discarded when scrolled out of view.
Usage of a BufferedStore causes buffered rendering of just the visible range of grid data.
The "Topic" column is configured cellWrap: true
and allows text to wrap. This causes the buffered renderer to
use variableRowHeight: true
.
The number of rendered rows is only just larger than the visible row count. As the edge of the rendered data scrolls towards being in view, the table has new rows appended just in time, and rows removed from the receding side.
The code is not minified, see buffered-store.js