хранить данные на панели - PullRequest
1 голос
/ 04 ноября 2011

Я создаю панель, которая должна показывать данные магазина, но ничего не показывает.Это моя панель:

pnl = new Ext.form.FormPanel({
        id          : 'profile',
        renderTo    : 'itemselector',
        items:[{
                xtype       : 'itemselector',
                name        : 'itemselector',
                fieldLabel  : 'Gestion des groupes:',
                imagePath   : 'ext/examples/multiselect/images/',
                multiselects: [{
                        width   : 275,
                        height  : 220,
                        store   : store1,
                        displayField: 'text'
                },{
                        width   : 275,
                        height  : 220,
                        store   : [['10','Ten']]
                }]
        }],
    });

, а это мой магазин:

store1 = new Ext.data.GroupingStore({
         id         : 'StoreGroupe'
        ,url        : 'st1.php'
        ,reader     : new Ext.data.JsonReader({
                        root            : 'data',
                        totalProperty   : 'rows',
                        id              : 'ReaderGroupes',
                        fields          : [{name:'Gname'}]
                    })
}); 

Работает только тогда, когда я использую статическое хранилище, например:

 store1 = new Ext.data.ArrayStore({
    data    :  [['1', 'One'], ['2', 'Two'], ['3', 'Three'], ['4', 'Four'], ['5', 'Five'],['6', 'Six']],
    fields  :  ['value','text']
});

1 Ответ

1 голос
/ 04 ноября 2011

FormPanel настроен для отображения «текстового» поля в виде множественного выбора.Однако JsonReader в GroupingStore не содержит текстового поля.ArrayStore работает, потому что для магазина определено текстовое поле.

Определите текстовое поле для JsonReader и убедитесь, что сервер возвращает текстовое поле, и оно должно работать.

...