我成功地能够在 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'
}]
最佳答案
为了改变网格列,你需要调用 grid. reconfigure ,您不能只更改列属性。重新配置应该为您触发所有相关的刷新和重新显示事件。
因此,您的代码应为:
store.on('load', function(st){
var columnModel = store.data.items;
grid.reconfigure(store, columnModel);
});
关于javascript - ExtJs4 - 动态加载网格列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213621/