extjs6。向网格中添加列

extjs6。向网格中添加列,extjs,grid,sencha-architect,gridpanel,Extjs,Grid,Sencha Architect,Gridpanel,我想在表实例化时向网格动态添加额外的列。 因此,我在下面的小节中向gridPanel添加了进程函数 var clmn = { xtype: 'checkcolumn', dataIndex: 'test, editor: { xtype: 'checkboxfield' } }; config.

我想在表实例化时向网格动态添加额外的列。 因此,我在下面的小节中向gridPanel添加了进程函数

   var clmn = {
                xtype: 'checkcolumn',
                dataIndex: 'test,
                editor: {
                    xtype: 'checkboxfield'
                }
            };
   config.columns.push(clmn);
正如您所看到的,这里也使用了插件

实际上,该列被添加并显示在屏幕上。但它并没有保存已加载的正确数据,只有模型中的默认值

在行修改(当行编辑插件启动时)显示真实数据

这里的问题是什么?可能有一些刷新方法应该用来刷新元数据或类似的东西

请考虑到我是通过Sencha Architect来工作的,push()不是正确的方法。所以您应该使用前面提到的重新配置方法。如果您的存储区已经有新列的字段,则无需再次传递它。只需获取当前列并添加新列,然后重新配置网格

编辑答案:你的问题比以前容易了。您可以像下面那样将列传递给它

var yourGenericColumns = [
                     {text: 'First Name',  dataIndex:'firstname'},
                    {text: 'Last Name',  dataIndex:'lastname'}];

yourGenericColumns.push({text : 'Age', dataIndex: 'age'});

Ext.create('YourApp.YourCustomGrid',{
     columns : yourGenericColumns
});

我让strore的listener on load事件处理记录并添加一些附加字段。实际上,只有在网格实例已经存在的情况下,这类字段才会出现问题。在我的例子中,列添加在进程配置中,即在构造函数之前