store.load不会更新gridpanel

时间:2014-06-18 16:17:52

标签: javascript extjs

我正在尝试在弹出窗口中将数据加载到树状网格。 但数据没有显示。 数据来自服务器和console.log(store)显示数据但treegrid为空。 据我了解商店加载数据,但在视图或模型中出现了错误,但我找不到麻烦。 有人能帮助我吗?

这是打开弹出窗口(它在控制器中)。 获取商店 - >添加过滤器 - > loadData

editCategories: function(grid, record){
        var view = Ext.widget('categorypopup');
        view.down('form').loadRecord(record);
        SelectedCategory.category = record.getId();
        var store = view.down('gridpanel').getStore();
        store.clearFilter(true);
        store.filter([
            {
                property: 'id',
                value: record.getId()
            }
        ]);
        store.load();
    }

这是弹出窗口中的网格

{
                    xtype: 'gridpanel',
                    alias: 'widget.categoryattr',
                    title: 'Attributes',
                    height: 250,
                    cls: 'attributetree',                    
                    buttons: [{'text': 'Add attribute', 'action' : 'add-attribute'}],
                    columns: [
                        {
                            text: 'Id',
                            dataIndex: 'id',
                            width: 50
                        },
                        {
                            dataIndex: 'name',
                            text: 'Name',
                            width: 250
                        }],
                    width: 300,
                    store: attributesStore
                }

这是此网格的商店

Ext.define('desk.store.CategoryAttributesStore', {
    extend: 'Ext.data.Store',
    model: 'desk.model.CategoryAttributesModel',
    storeId: 'AttributesStore',
    autoLoad: false,
    autoSync: true,
    proxy: {
        type: 'ajax',
        url: '/admin/get-attributes-by-category/',
        reader: {
            type: 'json',            
            root: 'attributes',
            successProperty: 'success',
            totalProperty: 'results'
        }
    }
})

这是网格的模型

Ext.define('desk.model.CategoryAttributesModel', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'name', type: 'string'},
        {name: 'id', type: 'int'},
        {name: 'value', type: 'string'}
    ]
})

0 个答案:

没有答案