ExtJS4 - 通过网格中的存储进行迭代

时间:2012-03-21 15:08:33

标签: grid extjs4 store

我想迭代遍历商店并动态制作网格列。当我在Store的onLoad事件中使用columns.push方法时,我收到此错误:“headerCtCfg未定义”。这是我的代码:

Ext.define('App.view.UserList' ,{
     extend: 'Ext.grid.Panel',
     alias : 'widget.userlist',

     store: 'Users',

     initComponent: function() {
        var store = Ext.getStore( this.store );
        store.on('load', function () {
            var columns = this.columns = [];
            columns.push( {header: 'H', dataIndex: '0'} );

先谢谢你

1 个答案:

答案 0 :(得分:1)

尝试在initComponent函数中执行任何其他操作之前添加this.callParent(arguments)。这样就可以完全创建视图,并且您可以访问列。

另外,我建议您查看tableview的reconfigure方法,以便动态更改商店和列。

更新:尝试使用Ext.apply代替columns.push:

Ext.apply(this, {
    columns: [ list of your columns ]
});

Update2:load()是异步的。因此,您可以考虑首先使用虚拟列创建网格,然后加载存储并将其替换为新数据。