即使存储和列存在于网格对象中,extjs 网格也不会显示预期数据
extjs Grid is not showing expected data even when store, and colums are present in grid object
我是 extjs 的新手,在将 json 数据加载到网格时遇到了一些问题。在调试器中,我可以看到网格的存储和列正在按照我想要的方式准确填充。但是数据没有显示在网格中。我不确定为什么。但是我的网格没有加载数据。
我做错了什么?
提前谢谢你。
网格视图:
Ext.define('searchadmin.view.reports.DynamicGrid' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.dynamicGrid',
title : 'Results',
columns: [],
columnLines : true,
sortableColumns : false,
autoScroll : true,
viewConfig : {
stripeRows : false,
loadMask:true
}
});
店铺:
Ext.define('searchadmin.store.DynamicGridStore', {
extend : 'Ext.data.Store',
model: 'searchadmin.model.DynamicGridModel',
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'data'
}
}
});
型号:
Ext.define('searchadmin.model.DynamicGridModel', {
extend: 'Ext.data.Model',
fields: []
});
此要点中上述网格所在页面的视图配置:
Reports.js
包含动态组合模型和存储代码的 Reports 控制器位于 handleSelectQueryResult()
中:ReportsController
您将不得不使用网格的 reconfigure
方法,而不是像这样分配列并存储在 ReportsController.js
的 handleSelectQueryResult
函数中。
grid.columns = _columns; //will not work
grid.store = queryStore; //will not work
还要注意 ComponentQuery.query
returns 一个数组。
试试这个方法。
var grid = Ext.ComponentQuery.query('#dynamicGridId')[0]; //or var grid = Ext.getCmp('dynamicGridId');
grid.reconfigure(queryStore, _columns);
我是 extjs 的新手,在将 json 数据加载到网格时遇到了一些问题。在调试器中,我可以看到网格的存储和列正在按照我想要的方式准确填充。但是数据没有显示在网格中。我不确定为什么。但是我的网格没有加载数据。
我做错了什么?
提前谢谢你。
网格视图:
Ext.define('searchadmin.view.reports.DynamicGrid' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.dynamicGrid',
title : 'Results',
columns: [],
columnLines : true,
sortableColumns : false,
autoScroll : true,
viewConfig : {
stripeRows : false,
loadMask:true
}
});
店铺:
Ext.define('searchadmin.store.DynamicGridStore', {
extend : 'Ext.data.Store',
model: 'searchadmin.model.DynamicGridModel',
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'data'
}
}
});
型号:
Ext.define('searchadmin.model.DynamicGridModel', {
extend: 'Ext.data.Model',
fields: []
});
此要点中上述网格所在页面的视图配置: Reports.js
包含动态组合模型和存储代码的 Reports 控制器位于 handleSelectQueryResult()
中:ReportsController
您将不得不使用网格的 reconfigure
方法,而不是像这样分配列并存储在 ReportsController.js
的 handleSelectQueryResult
函数中。
grid.columns = _columns; //will not work
grid.store = queryStore; //will not work
还要注意 ComponentQuery.query
returns 一个数组。
试试这个方法。
var grid = Ext.ComponentQuery.query('#dynamicGridId')[0]; //or var grid = Ext.getCmp('dynamicGridId');
grid.reconfigure(queryStore, _columns);