我正在尝试在弹出窗口中将数据加载到树状网格。 但数据没有显示。 数据来自服务器和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'}
]
})