Beoulve
Beoulve

Reputation: 57

extjs4 paging grid reloading store on paging event

i have a paging grid and some function that load a new store to the grid, but when i click on the next page it reverts back to the initial store

the grid:

Ext.define('Pedido', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'ID',
        type: 'int'
    }, {
        name: 'Nome',
        type: 'string'
    }, {
        name: 'CPF/CNPJ',
        type: 'string'
    }, {
        name: 'Data',
        type: 'datetime'
    }, {
        name: 'TipoPagamento',
        type: 'string'
    }, {
        name: 'StatusPagamento',
        type: 'string'
    }, {
        name: 'TipoPagamento',
        type: 'string'
    }, {
        name: 'Total',
        type: 'string'
    }],
    idProperty: 'ID'
});

var store = Ext.create('Ext.data.Store', {
    pageSize: 10,
    model: 'Pedido',
    remoteSort: true,
    proxy: {
        type: 'ajax',
        url: 'http://localhost:4904/Pedido/ObterPedidosPorInquilino',
        reader: {
            root: 'Items',
            totalProperty: 'TotalItemCount'
        }
    }
});

var grid = Ext.create('Ext.grid.Panel', {
    id: 'grid',
    width: 500,
    height: 250,
    title: 'Array Grid',
    store: store,

    loadMask: true,
    viewConfig: {
        id: 'gv',
        trackOver: false,
        stripeRows: false
    },
    columns: [{
        id: 'gridid',
        text: "ID",
        dataIndex: 'ID',
        width: 50
    }],
    bbar: Ext.create('Ext.PagingToolbar', {
        store: store,
        displayInfo: true,
        displayMsg: 'Exibindo {0} - {1} de {2}',
        emptyMsg: "Nenhum pedido"
    }),
    renderTo: 'pedidos'
});

store.load({
    params: {
        start: 0,
        limit: 10
    }
});

and the function that set the new store

store.load({
    params: {
        param: newparam
    }
});

also, when I call this function, I would like to set the label on the viewing page x of y back to 1, since setting a new store takes you back to the first page

thanks again

Upvotes: 0

Views: 1473

Answers (1)

dbrin
dbrin

Reputation: 15673

I am not sure why you are replacing the store when you page through your data..but notice the paging toolbar is bound to the store as well as the grid itself. If you are going to change the underlying store here you will need to rebind columns, and the paging bar. Try the reconfigure method http://docs.sencha.com/ext-js/4-0/#!/api/Ext.panel.Table-method-reconfigure

Again I think you need to reevaluate your use case and perhaps think of a different way of accomplishing what you are doing.

Upvotes: 1

Related Questions