javascript - ExtJs4 - 动态加载网格列?

标签 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'
}]

最佳答案

为了改变网格列,你需要调用 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/

相关文章:

extjs - extjs 中的 CSS Mixins

extjs - Sencha Touch 2.2 不适用于 Windows Phone 8

Extjs hasOne 关联本地模式

javascript - 在 Ext JS 4 或 JavaScript 中解析 JSON

javascript - 按钮 onclick 未完成功能

javascript - 动态生成的选择/选项在 IE 中为空但在其他浏览器中正常

python - 基于 Flask-RESTful 的应用程序的实际部署

javascript - extjs4 应用程序的 AngularJS 包装器 - 好的设计吗?

javascript - 涉及display属性时其他属性的硬过渡

javascript - 添加到 window.onload 事件?