日期:2014-05-16  浏览次数:20389 次

EXTJS4 GRID动态生成列的问题
最近项目中用到ext的grid动态生成列,就是根据配置项,动态的显示内容。
网上找了N久也没看到4.0的版本解决方案。不知道哪位大哥有这方面的例子,可以提供下,不胜感激啊!

我的后台数据是这样的:
String json = "{totalCount:5,'data':[{'number':'11','text': '22','info': '33','special': '44'},{'number':'111','text': '222','info': '333','special': '444'}],'columModle':[{text: '序号',dataIndex: 'number',width:120},{text: '编码',dataIndex: 'text',width:120},{text: '名称',dataIndex: 'info',width:120},{text: '金额',dataIndex: 'special',width:120}],'fieldsNames':['number','text','info','special']}";

前台主要代码:
Ext.Ajax.request({
url : "record/configApp",
params : {
action : "query"
},
method : 'POST',
success : function(response) {
var json = Ext.JSON.decode(response.responseText);

column = new Ext.grid.column.Column(json.columModle);

var store = Ext.create('Ext.data.Store', {
fields : json.fieldsNames,
data : json.data
});

Ext.getCmp("pageToolbar").bind(store);
Ext.getCmp("configGrid").reconfigure(store, column);
Ext.getCmp("configGrid").render();



}
});

Ext.apply(this, {
id : 'configGrid',
name : 'configGrid',
xtype : 'grid',
title : '参数配置',
selModel : selModel,
store : templateStore, // 这是另外一个store,不这样就会报错,因为真正的stroe还没有生成
columns : [],
tbar : [templateCombo],
bbar : Ext.create('Ext.PagingToolbar', {
id : 'pageToolbar',
name : 'pageToolbar',
store : templateStore,
displayInfo : true,
emptyMsg : "没有数据显示",
items : []
})
});

this.callParent();

现象:
前台grid中什么数据都没有,但是我点击alert数据,是存在的。不知道4.0版本中,这样的情况代码应该怎么写。
忘高手指导。


------解决方案--------------------
应该是异步问题吧
------解决方案--------------------
你没将store中的json数据绑定到grid中去吧!
------解决方案--------------------
可以搞的,只是楼主思维还没发散呢.

------解决方案--------------------
参考
http://code.google.com/p/exjts-dynamic-header/source/browse/trunk/dynamic_header.html?r=2