ExtJS 4 - поле в Model и DataStore.Raw, но не в DataStore.Data - PullRequest
0 голосов
/ 14 сентября 2011

Я пытаюсь заполнить сетку хранилищем данных, которое использует прокси-сервер, определенную модель и ридер.Подобные магазины не имеют той же проблемы, но один есть.

Модель

Ext.define('DrillDescriptionGridModel', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'sentTime',        type: 'string'},
        {name: 'sDescription',    type: 'string'},
        {name: 'receivedTime',    type: 'string'},
        {name: 'seconds',        type: 'number'},
        {name: 'formatted',        type: 'string'},
        {name: 'alertPhone',    type: 'string'},
        {name: 'alertEmail',    type: 'string'}
    ]
});

Считыватель

var DrillDescriptionReader = Ext.create('Ext.data.JsonReader', {
    type:    'json',
    model:    'DrillDescriptionGridModel',
    root:    'data'
});

Магазин

DrillDescriptionStore = Ext.create('Ext.data.Store', {
    model: 'DrillDescriptionGridModel',
    autoLoad: false,
    proxy: {
        type:             'ajax',
        url:            '/inc/ajax/Monitors.php',
        actionMethods:    'POST',
        reader:            DrillDescriptionReader
    },
    listeners: {
        load: function() {
            console.log(this.getAt(0));
            DrillDescriptionPanel.show();
        }
    }
});

Прокси-сервер возвращает строку json

{"data":[{"sDescription":"Status Normal","sentTime":"12:00:00 am","receivedTime":"12:00:01 am","seconds":"2","formatted":"2 seconds","alertPhone":"","alertEmail":""}, [...]

В файле console.log в прослушивателе загрузки отображается

Ext.Class.c.m
  data: Object
    alertEmail: ""
    alertPhone: ""
    formatted: "2 seconds"
    receivedTime: "12:00:01 am"
    seconds: 2
    sentTime: "12:00:00 am"
    __proto__: Object
  [...]
  raw: Object
    alertEmail: ""
    alertPhone: ""
    formatted: "2 seconds"
    receivedTime: "12:00:01 am"
    sDescription: "Status Normal"
    seconds: 2
    sentTime: "12:00:00 am"
    __proto__: Object
[...]

Кто-нибудь знает, почему поле sDescription будет отображено в необработанном объекте, а не в объекте данных, или обнаружит ошибку в коде?Любая помощь будет принята с благодарностью.Благодаря.

Ответы [ 2 ]

0 голосов
/ 15 сентября 2011

Так что я понял это, и, к сожалению, это НИЧЕГО не связано с кодом, который я разместил.Спасибо за помощь Роки.

У меня был еще один магазин в коде, который пытался использовать тот же читатель ... который, похоже, не должен был быть проблемой вообще, но, очевидно, был.Модифицировал читатель в магазине ниже и код работал сразу.

Еще раз спасибо за помощь Рокки, и спасибо, что взглянули на nscrob.

0 голосов
/ 14 сентября 2011

если вы используете extjs 4 в том виде, в котором вы его пометили ... тогда читатель json не определен правильно. Класс должен быть Ext.data.reader.Json

...