ExtJS 6. 将列添加到网格
Posted
技术标签:
【中文标题】ExtJS 6. 将列添加到网格【英文标题】:ExtJS 6. Adding column to grid 【发布时间】:2016-04-11 11:49:58 【问题描述】:我想在表实例化时向网格动态添加额外的列。 因此,我在 gridPanel 中添加了 process 功能,并附有以下部分
var clmn =
xtype: 'checkcolumn',
dataIndex: 'test,
editor:
xtype: 'checkboxfield'
;
config.columns.push(clmn);
如您所见,这里也使用了rowediting插件。
实际上列已添加并显示在屏幕上。但它没有保存已加载的正确数据,只有模型中的 defaultValue。
在行修改时(启动行编辑插件时)显示真实数据。
这里有什么问题?可能有一些刷新方法应该用于刷新元数据或类似的东西..
请注意我是通过 Sencha Architect 工作的
【问题讨论】:
我在加载事件上有监听器,用于处理记录并添加一些额外的字段。实际上只有这些字段存在问题 【参考方案1】:columns.push() 不是这样做的正确方法。所以你应该使用here提到的重新配置方法。如果您的商店已经有新列的字段,则不必再次传递它。只需获取当前列并添加新列并重新配置网格即可。
编辑答案:您的问题比以前更容易。您可以像下面一样将您的列传递给它;
var yourGenericColumns = [
text: 'First Name', dataIndex:'firstname',
text: 'Last Name', dataIndex:'lastname'];
yourGenericColumns.push(text : 'Age', dataIndex: 'age');
Ext.create('YourApp.YourCustomGrid',
columns : yourGenericColumns
);
【讨论】:
如果网格实例已经存在,则此方法有效。在我的情况下,列是在流程配置中添加的,即在构造函数之前以上是关于ExtJS 6. 将列添加到网格的主要内容,如果未能解决你的问题,请参考以下文章