在 extjs 网格中只为一行添加组合框
Posted
技术标签:
【中文标题】在 extjs 网格中只为一行添加组合框【英文标题】:Add combobox in extjs grid for only one row 【发布时间】:2014-08-22 19:33:16 【问题描述】:我有一个 extjs 网格,它显示来自商店的数据。最后一列总是空的,除了 store 中的条目,标志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)应该有组合框。我应该如何根据商店价值为其包含组合框?
【问题讨论】:
【参考方案1】:任何列编辑器都是按列定义的,因此您不能为列和行定义编辑器。您可以做的是有条件地禁用不符合您条件的行的编辑。
为此,请收听beforeedit event 并从侦听器返回 false 是条件不匹配。
【讨论】:
【参考方案2】:为标题为 Action 的列添加 xtype : 'checkcolumn' 并为该列分配 dataindex 属性值,您需要从存储中分配。
【讨论】:
以上是关于在 extjs 网格中只为一行添加组合框的主要内容,如果未能解决你的问题,请参考以下文章
如何在具有嵌套数据的网格中设置组合框值? Extjs 4.2 Mvc
基于另一个组合在 ExtJs 中的 EditableGrid 中设置组合框的存储