#extjs #extjs4
#extjs #extjs4
Вопрос:
Я пытаюсь заполнить внешнюю сетку JS 4 данными json. К сожалению, независимо от того, что я делаю, она по-прежнему остается пустой. Функция JS приведена ниже:
function buildGrid() {
Ext.define('Contact', {
extend: 'Ext.data.Model',
fields: ['Id', 'Name', 'State', 'Age']
});
var store = Ext.create('Ext.data.Store', {
model: 'Contact',
proxy: {
type: 'ajax',
url: 'GridData',
reader: {
type: 'json',
record: 'data',
totalProperty: 'total'
}
}
});
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{ text: "Name", flex: 1, width: 120, dataIndex: 'Name', sortable: true },
{ text: "State", width: 100, dataIndex: 'State', sortable: true },
{ text: "Age", width: 115, dataIndex: 'Age', sortable: true },
],
height: 210,
width: 600,
split: true,
renderTo: Ext.getBody()
}).show();
}
Ext.onReady(buildGrid);
Ответ сервера выглядит следующим образом:
{"callback":"1307878654818","total":1,"data":[{"Id":"ac2bedf1-bb5c-46e0-ba50-a6628341ca25","Name":"Smith","State":"NU","Age":24}]}
так что все выглядит нормально. Однако в представлении сетки дата не отображается.
Кто-нибудь может увидеть, что я делаю неправильно?
Ответ №1:
Вы не указали свойство root. Попробуйте
reader: {
type: 'json',
root: 'data',
totalProperty: 'total'
}