ExtJs4 - 动态加载网格列?

时间:2011-06-02 10:58:01

标签: javascript extjs extjs4

我成功地能够在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'
}]

1 个答案:

答案 0 :(得分:1)

要更改网格列,您需要调用grid。reconfigure,您不能只更改columns属性。重新配置应该为您触发所有相关的刷新和重新显示事件。

你可以阅读:

store.on('load', function(st){
   var columnModel = store.data.items;
   grid.reconfigure(store, columnModel);
});
相关问题