我有一个extjs网格,显示来自商店的数据。最后一列始终为空,除了商店中的条目,其中有一个标志is_deleted=0
(只有一个条目的is_deleted = 0)。我必须为此条目显示一个组合框,其中包含值编辑和删除。
我目前的网格代码如下:
Ext.define('TasoDesktop.view.taso.popups.accountComments.AccountCommentsGrid', {
extend: 'Ext.grid.GridPanel',
alias: 'widget.tasoAccountCommentsGrid',
title: 'Previous Comments',
initComponent: function () {
this.store = 'AccountLevelComments';
this.columns = [
{ header: 'Date Entered', dataIndex: 'modified_dt', flex: 0},
{ header: 'Comment', dataIndex: 'c_comment', flex: 0 },
{ header: 'Entered by', dataIndex: 'sid', flex: 0 },
{ header: 'Expiry Date', dataIndex: 'valid_until_dt', flex: 0 },
{ header: 'Action', flex: 0 }
];
this.height = 400;
this.width = 900;
this.viewConfig = {
stripeRows: true
};
this.autoScroll = true;
this.callParent(arguments);
}
});
只有一个Action列(商店中的is_deleted = 0)应该有组合框。我应该如何根据商店价值包含组合框?
答案 0 :(得分:2)
任何列编辑器都是按列定义的,因此您无法为列和行定义编辑器。您可以做的是有条件地禁用与您的条件不符的行的编辑。
为此,听取beforeedit event并从侦听器返回false是标准不匹配。
答案 1 :(得分:0)
为标题为Action的列添加xtype:'checkcolumn',并为该列分配dataindex属性值,您需要从商店分配。