Buffered Scrolling Grid example and sort bug

in Ext 4.1 beta 2, the Buffered Scrolling grid example.

If I click on the Name column header to sort the names:

instead of getting "1 Tommy White" in the first row, I get "37 Tommy Spencer".
"1 Tommy White" appears about 15 rows down.
If I scroll down and back up, it is corrected, "1 Tommy White" appears in the first row.

Any chance that this feature will be available at some point for grids/stores with local (prefetched, cached) data like this one? (Or hints as to what might need to be modified to make this possible?) Thanks.

making sorting work for buffered scrolling grid with buffered local data in store

Here's my hack/solution. No idea if this solution works in general, but it works for what I'm trying to do. (This is a drop in replacement for examples/grid/buffer-grid.js. RowNumberer has been removed because I do not use it.)

But only in remote mode. Filtering or sorting the local 20, 30 or so rows of a 100,000 row dataset is not valid.

The infinite scroll example illustrates sorting. We'd need to rewrite the web service which provides the data to implement remote filtering in that example, but I think it would be a good idea to do that.

Thanks for the response and I appreciate the work you're doing on buffered store / infinite grid.

Just to be clear, my example has it working in *local* mode. It sorts and filters all the data locally.
(Obviously when the data set gets too large this is a bad idea, but for the 1000 to 5000 rows I need, I find this simple and effective.)
(The code uses a BufferedLocalStore derived class and a couple of extjs tweaks where things are hard-wired to make this not work. All of this is included in the example.)

Ouch. I'm disappointed that this use-case will not be supported. Back to the drawing board.

We talk a lot about storing all the data client side, but in this case, it may be best to let the cache of the store manage this and let the server do the work of sorting/filtering. If the sort or filter changes, the store will drop the cache and refetch from the server using the new criteria.

If you dial up the cache sizes, you can get the best of both worlds: lots of data locally (fetched on demand) and the tricky stuff handled by the server.