Ошибка Ext.data.Store.getById - PullRequest
       7

Ошибка Ext.data.Store.getById

1 голос
/ 24 февраля 2011

У меня есть магазин, который определен примерно так:

var AdditionalGridData = new Ext.data.JsonStore(
                {                       root: "result",
                    data: { result: Ext.decode(this.Data.AdditionalGridData) },
                    idProperty: 'iD',
                    fields: [
                            { name: "iD", type: "int", allowBlank: false }, //must match selected row's primary key
                            {name: "SomeText", type: "string" }
                        ]
                });

Так что есть время, когда я хочу получить существующую запись по ее значению ID. Я вызываю getById, и он возвращает неопределенное. Магазин действительно содержит запись, которую я ищу. Почему он не мог вернуть мою запись? Читайте где-нибудь на форумах, что: вам нужно передать идентификатор записи (например, «ext-record-1») в Store.getById вместо идентификатора данных (например, «1»); Это правильно? Где взять этот идентификатор записи?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Я вставлял записи неправильно.Я вставил их как .add ({ContactName: "aaa"}, {ContactID: 1}) и должен был сделать это как .add ({ContactName: "aaa"}, 1);

1 голос
/ 25 февраля 2011

Попробуйте это:

var additionalDataRecord = Ext.data.Record.create([
    {name: 'iD', type: 'int', allowBlank: false},
    {name: 'someText', type: 'string'}
]);

var additionalDataReader = new Ext.data.JsonReader({
    root: 'result',
    id: 'iD'
}, additionalDataRecord);

then in your data store declaration, specify

reader: additionalDataReader
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...