2013-09-17 2 views
0

Я загружаю данные из сервлета, который находится в формате json. Я использую панель инструментов пейджинга для навигации. Но сетка загружает сразу все данные. что я могу загрузить некоторую часть данных в сетку, чтобы выполнить пейджинговый контроль на grid.please, помогите мне. Ext.require ([ 'Extensation ', 'Extric.' ]);Сетка загружает все данные, пока я использую панель пейджинга в extjs

Ext.onReady(function(){ 
Ext.define('Book',{ 
    extend: 'Ext.data.Model', 
    fields: [ 
     // set up the fields mapping into the xml doc 
     // The first needs mapping, the others are very basic 
     'sno', 
     'name', 'salary' 
    ] 
}); 

Ext.Loader.setConfig({ 
enabled : true 
}); 

// create the Data Store 
var store = Ext.create('Ext.data.Store', { 
    model: 'Book', 
    pageSize:25, 
    proxy: { 
     // load using HTTP 
     type: 'ajax', 
     //url: 'http://localhost:8080/sampleweb/AccessServlet', 
     url: 'http://localhost:8080/sampleweb/DataServlet', 
     // the return will be XML, so lets set up a reader 
     reader: { 
      type: 'json', 
      root:'jsonObj', 
      totalProperty: 'totalcount' 
     } 
    } 
}); 

store.load({ 
    params:{ 
     start:0,  
     limit: 25 
    } 
}); 
var rowEditing = Ext.create('Ext.grid.plugin.RowEditing'); 
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', { 
    clicksToEdit: 1 
}); 
// create the grid 
var grid = Ext.create('Ext.grid.Panel', { 
    store: store, 
    columns: [ 
     {text: "sno",width:140, dataIndex: 'sno', sortable: true 
     ,editor: { 
      xtype: 'numberfield', 
      allowBlank: false, 
      minValue: 1, 
      maxValue: 150000 
     }}, 
     {text: "name", width: 180, dataIndex: 'name', sortable: true, 
     editor: { 
      xtype: 'combobox', 
      typeAhead: true, 
      triggerAction: 'all', 
      selectOnTab: true, 
      store: [ 
       ['Shade','Shade'], 
       ['Mostly Shady','Mostly Shady'], 
       ['Sun or Shade','Sun or Shade'], 
       ['Mostly Sunny','Mostly Sunny'], 
       ['Sunny','Sunny'] 
      ]}}, 
     {text: "salary", width: 180, dataIndex: 'salary', sortable: true, 
     editor: { 
      xtype: 'numberfield', 
      allowBlank: false, 
      minValue: 1, 
      maxValue: 1000000 
     }}, 
     { 
      xtype: 'actioncolumn', 
      width: 30, 
      sortable: true, 
      menuDisabled: true, 
      items: [{ 
       icon: 'http://etf-prod-projects-1415177589.us-east-   1.elb.amazonaws.com/trac/docasu/export/2/trunk/client/extjs/shared/icons/fam/delete.gif', 
       handler: function(grid, rowIndex, colIndex) { 
        store.removeAt(rowIndex); 
       } 
      }] 
     } 
    ], 



    dockedItems: [ 
    { 
     xtype: 'pagingtoolbar',  
     displayInfo: true, 
        pageSize:25, 
     dock: 'bottom', 
     store: store    
    } 
], 

      viewConfig: { 
    forceFit: true 
}, 
    /*dockedItems: [{ 
     xtype: 'toolbar', 
     items: [{ 
      text: 'Add', 
      iconCls: 'icon-add', 
      handler: function(){ 
       // empty record 
       store.insert(0, new Book()); 
       rowEditing.startEdit(0, 0); 
      } 
     }, ] 
    }],*/ 
    renderTo:'example-grid', 
    width: 560, 
    plugins: [rowEditing], 
    height: 400 
}); 

});

+0

Вы уверены, что ваш сервер понимает параметры 'limit' или' pageSize'? Вы также должны проверить запрос AJAX (средства разработки> сеть), чтобы убедиться, что параметры отправлены на сервер (насколько я могу судить, они должны соответствовать вашему коду). – rixo

ответ

1

Вы сделали две вещи для общей сетки сетки. Запись и строки основаны на лимите и начале, а затем сетка показывает общую и запись смещения страницы. По умолчанию используйте 0-25, потому что вы устанавливаете предел = 25 и начинаете = 0.

Смежные вопросы