使用分页工具栏的ExtJS网格面板

时间:2011-06-07 07:00:08

标签: extjs grid paging panel toolbar

我正在尝试使用Paging Toolbar制作ext JS网格面板,但无法确定问题的来源。任何人都可以帮助我 -

var myData = {
   record : [
              { name : "Record 0", column1 : "0", column2 : "0" },
              { name : "Record 1", column1 : "1", column2 : "1" },       
              { name : "Record 2", column1 : "2", column2 : "2" },
            ]
    };

var fields = [
             {name: 'name', mapping : 'name'},
             {name: 'column1', mapping : 'column1'},
             {name: 'column2', mapping : 'column2'}
          ];

      var store = new Ext.data.Store ({
            id  :'simpsonsStore',
            fields:['name', 'column1', 'column2'],
            pageSize: 5, 
            data: myData,
            reader: {
                root: 'record',
                type: 'json'
            }
        });



      // Column Model shortcut array
      var cols = [
        { id : 'name', header: "Record Name", width: 50, sortable: true, dataIndex: 'name'},
        {header: "column1", width: 50, sortable: true, dataIndex: 'column1'},
        {header: "column2", width: 50, sortable: true, dataIndex: 'column2'}
      ];

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

      // declare the source Grid
        var grid = new Ext.grid.GridPanel({
            ddGroup          : 'gridDDGroup',
            store            : store,
            columns          : cols,
            enableDragDrop   : true,
            stripeRows       : true,
            autoExpandColumn : 'name',
            width            : 650,
            height           : 325,
            region           : 'west',
            title            : 'Data Grid',
            selModel         : new Ext.grid.RowSelectionModel({singleSelect : true}),
            dockedItems: [{
                xtype: 'pagingtoolbar',
                store: store,   // same store GridPanel is using
                dock: 'bottom',
                displayInfo: true
            }]

        });

        var displayPanel = new Ext.Panel({
            width       : 650,
            height      : 300,
            layout      : 'column',


           renderTo : Ext.getBody(),
            items    : [
              grid
            ],
            bbar    : [
              '->', 
              {
                text    : 'Reset Example',
                handler : function() {
                  gridStore.loadData(myData);
                }
              }
            ]
          });

1 个答案:

答案 0 :(得分:1)

displayPanel的bbar中,处理程序在loadData变量上调用gridStore,该变量未在您发布的代码段中定义。

我想你需要在这里声明的商店变量上调用loadData

var store = new Ext.data.Store

您也可以致电grid.getStore().loadData();