// create a data record var rowRecord = Ext.data.Record.create([ [% FOREACH col IN lf.main.col_order %] [% ',' IF lf.main.col_order.size > 1 AND NOT loop.first %] { name: '[% col %]' } [% END %] [% FOREACH col IN lf.main.mfks.keys %] ,{ name: '[% col %]' } [% END %] ]); // create the Data Store var store = new Ext.data.JsonStore({ url: '[% c.uri_for( c.controller('LFB::Root').action_for('db_picker'), db, lf.main.path, "list" ) %]' ,root: 'rows' ,fields: rowRecord ,remoteSort: true ,totalProperty: 'total' }); // set default sort if we can store.setDefaultSort('[% lf.main.pk %]', 'ASC'); // hook to add page num param // got this from the extjs forums store.on('beforeload', function(store, options) { options.params.limit = Ext.state.Manager.get('lfb-pgsz', pagebar.pageSize); var limit = options.params.limit; var start = options.params.start; options.params.page = Math.floor(start / limit) + 1; return true; });