ExtJS4 - загрузка магазина из другой сетки - PullRequest
1 голос
/ 26 ноября 2011

Я пытаюсь загрузить магазин json, когда нажимаю на конкретную строку в другой сетке.Кто-нибудь может увидеть, что я здесь делаю не так?В ext-all.js ошибка возвращается, поскольку данные не определены (из отладчика).

        Ext.define('Documents', {
            extend: 'Ext.data.Model',
            fields: [
                { name: 'index', type: 'int' },
                { name: 'path', type: 'string' }
            ]
        });

        var documents = new Ext.data.JsonStore({
            model: 'Documents',
            root: 'groupdocuments',
            autoLoad: false
        });

        // in the Ext.grid.Panel

        listeners: {
            itemclick: function () {

                var itemgroupid = rec.get('groupid');

                Ext.Ajax.request({
                    url: '/GetDocuments',
                    params: { groupId: itemgroupid },
                    success: function (result) {

                        var jsondata = Ext.decode(result.responseText);
                        documents.loadData(jsondata);
                    }
                });
            }
        }

        // the sample json returned from url
        // { "groupdocuments": [{ "index": 1, "path": "1.doc" }, { "index": 2, "path": "2.doc" }, { "index": 3, "path": "3.doc" }] }

1 Ответ

0 голосов
/ 26 ноября 2011

похоже, вам нужно экранировать данные пути.должно быть {путь: "C: \\ что-то \\"}

Кроме того, почему бы не использовать функцию группировки сетки?

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.feature.Grouping

При взгляде дальше это выглядиткак функция loaddata ожидает массив.Не объект json с объектом rootdata, как вы его даете.измените слушателя на следующее:

var jsondata = Ext.decode(result.responseText);
documents.loadData(jsondata.groupdocuments);

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store-method-loadData

в качестве альтернативы вы можете использовать loadRawData с полным объектом json.

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store-method-loadRawData

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