I have a grid with paging. That works fine. However, it doesn't print friendly. So, what I would like to do is grab all the data back from the controller then use that to draw a html table as needed. I thought what would make sense is to just prefetch the data and save that to a variable like so.
Code:
var all = store.prefetch({
        action:'read',
        limit: 1000,
        start: 0,
    }).prefetchData;
This actually works. However, it breaks the pagination. My store is set up like this
Code:
Ext.create('Ext.data.Store', {
        pageSize: 25, 
        model: 'model', remoteSort: true, buffered: true, purgePageCount: 0,
        proxy: new Ext.data.HttpProxy({
            method: 'GET', type: 'jsonp', simpleSortMode: true,
            extraParams: { var1: value, var2: value2 },
            reader: { root: 'root', totalProperty: 'totalCount' },
            url: url
        })
    });
If I don't do some form of load nothing displays in the grid. If I do store.load() it will load all of the records into the grid instead of paging at 25. I don't really get that because there is a prefetchPage method on store. So, I would expect prefetch to allow you to prefetch any range you want. I've also tried loadPage, and nextPage for giggles.

I'm wondering if I'm using this wrong. It seems as though it's for someone to load the first n records and then have a loop that renders data behind things for something like buffered grid. However, it seems rather unfortunate that this apparently doesn't work with paging.

What would be nice is if I could simply load my data once in a single server call. The only way that seems to work(with sorting, filtering, and paging) is if display everything which has slow render time over large data sets. The only real way around slow render is paging or some sort of buffering. Buffering doesn't work well with filtering since it's over cached data. Just feels like I'm running in circles trying to get this all to work together. I have the grid working by doing everything server side but something as simple as trying to save all the data to a variable without making 2 calls to the server breaks down. Just seems painfully rigid working with this.

I guess what I'm asking here is there some better way to do all of this? Searching google/forums hasn't yielded me much that even works let alone works well.