2015-02-19 5 views
0

в JSON Я получаю итого, как 67, но на сетке отображаются только две записи. Панель инструментов пейджинга показывает msg «Отображение 1 - 2 из 2», а следующая и предыдущая кнопка также отключены. Ниже приведен код моего js-файла. Как проверить, действительно ли totalProperty получает правильный счет?pagination не работает правильно в extjs

Ext.onReady (функция() {

var simpsonsStore = Ext.create('Ext.data.Store', { 
    storeId: 'simpsonsStore', 
    pageSize: 2, 
    autoLoad: false, 
    buffered: true, 
    fields: ['name', 'email', 'phone'], 
    proxy: { 
     type: 'ajax', 
     pageParam: undefined, 
     url: '/apex/getPatientData', 
     startParam: 'start', 
     limitParam: 'limit', 
     noCache: false, 
     reader: { 
      type: 'json', 
      root: 'items', 
      totalProperty: 'total' 
     } 
    }, 

}); 
simpsonsStore.load({ 
    params: { 
     start: 0, 
     limit: 2 
    } 
}); 
Ext.create('Ext.grid.Panel', { 
    title: 'Simpsons', 
    store: Ext.data.StoreManager.lookup('simpsonsStore'), 
    columns: [{ 
     header: 'Name', 
     dataIndex: 'name' 
    }, { 
     header: 'Email', 
     dataIndex: 'email', 
     flex: 1 
    }, { 
     header: 'Phone', 
     dataIndex: 'phone' 
    }], 
    height: 200, 
    width: 400, 
    dockedItems: [{ 
     xtype: 'pagingtoolbar', 
     store: simpsonsStore, 
     dock: 'bottom', 
     displayInfo: true 
    }], 
    renderTo: Ext.getBody() 
}); 

});

ответ

0

Две записи только когда-либо отображается, как вы установили предел параметров до 2:

params: { 
      start: 0, 
      limit: 2 
     } 

Кроме того, ваш PAGESIZE на магазине установлен на 2, так что, когда он загружает данные, которые он считает страницу данных в вашем магазине как максимум 2 записи. Посмотреть документы - http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.Store-cfg-pageSize

+0

даже если я увеличить лимит (скажем, 10) сетка загружается с 10 записями и msg на панели инструментов пейджинга говорит «Отображение 1 - 10 из 10», однако общее количество составляет 67, это ответ JSON: 0: {rnum: 1, begin: "0", end: "10" , всего: 67, имя: «1A», электронная почта: «Guruprit», ...}. Я думаю, что полное свойство не отображается правильно, но я не знаю, как проверить правильность установки totalProperty в читателе. – Priyanka

1

Скорее всего, ваш JSON doens't есть запись totalProperty: 'total' вам нужно возвращать количество всех записей в этой области

{ 'total': 67, 'items': [{ .... }] }

0

Итак, ваша задача выглядит быть структурой вашего ответа json.

@nniicc был на правильном пути, и ваш JSON это доказывает, как вы возвращаете итог в строке данных, а не как отдельное свойство вашего объекта JSON

{rnum: 1, время: "0", конец: "10", всего: 67, название: "1A", электронная почта: "Guruprit", ...}

Так должно быть больше как этот

{ 
    'total': 67, 
    'items': [{rnum: 1, begin: "0", end: "10", name: "1A", email: "Guruprit",…}, 
...] 
} 
Смежные вопросы