将数据存储在面板中

时间:2011-11-04 13:47:22

标签: extjs panel store

我创建了一个必须显示商店数据的面板,但它没有显示任何内容。 这是我的小组:

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 个答案:

答案 0 :(得分:1)

FormPanel配置为将“文本”字段显示为多选。但是,GroupingStore中的JsonReader不包含“text”字段。 ArrayStore的工作原理是因为为商店定义了“text”字段。

为JsonReader定义一个“text”字段,并确保服务器返回一个“text”字段,它应该可以工作。