我成功地能够在ExtJs3中动态加载网格列
但是,我没能在ExtJs4中使用它。
我可以动态加载列,但我不能让它们显示在网格中
当商店加载我构建一个列模型时,我然后将网格列设置为此列模型。
设置网格列后,我尝试调用grid.doLayout()
方法和grid.getView().refresh()
方法,但不会显示列。
下面是一些示例代码:
store.on('load', function(st){
var columnModel = store.data.items;
grid.columns = columnModel;
grid.doLayout();
/**
* I also tried doing it this way
**/
//grid.getColumnModel().setConfig(columnModel);
//grid.getView().refresh();
});
网格列属性似乎设置正确,但这些列永远不会显示 为了进一步说明,我设置为网格列属性的列模型如下所示:
[{
header: 'Name',
dataIndex: 'empname'
},{
header: 'Address',
dataIndex: 'address'
},{
header: 'Department',
dataIndex: 'dept'
}]
答案 0 :(得分:1)
要更改网格列,您需要调用grid。reconfigure,您不能只更改columns属性。重新配置应该为您触发所有相关的刷新和重新显示事件。
你可以阅读:store.on('load', function(st){
var columnModel = store.data.items;
grid.reconfigure(store, columnModel);
});