【问题标题】:ExtJs cell editingExtJs 单元格编辑
【发布时间】:2016-09-22 09:57:47
【问题描述】:

我有一个 3 列 5 行的网格。

我已将 CellEditing 插件附加到网格。 对于第 3 列,我定义了一个数字字段编辑器。

因此,现在每行第 3 列都附加了一个数字字段编辑器。

但由于数据/列元数据中存在某些情况,我想禁用第 2 行和第 4 行的数字字段编辑器。

由于编辑器附加在列级别,因此我无法禁用特定行的单元格编辑器。

ExtJS 中有没有办法处理这种情况。

我正在使用 ExtJS 5。

【问题讨论】:

  • 使用beforeedit事件并为不可编辑的单元格返回false。
  • 还有其他方法吗?我不想使用 beforeedit 事件。基本上我想在编辑器附加到单元格时处理这个问题。
  • 否,因为编辑器附加在列上并重复使用。 beforeedit 事件是编辑器附加到单元格的位置。另外,我很好奇你为什么说你不想使用beforeedit,你为什么这么说?
  • @EvanTrimboli 我可以使用beforreedit 来解决我所拥有的场景。没有具体原因我不想使用beforeedit,我只是想知道是否有任何其他方式来处理它。谢谢!

标签: extjs extjs4 extjs5


【解决方案1】:

正如 Evan 在 cmets 中所述,您需要在编辑开始之前使用 beforeedit 事件来否决编辑。

ExtJS 不会将编辑器附加到每个单元格。相反,当用户触发编辑(例如,通过单击或双击网格单元格)时,将调用 CellEditing 插件。 如果beforeedit 事件未被否决,它会将编辑字段附加到适当的单元格。编辑完成后,编辑字段将被分离。

如果您想以不同的方式设置不可编辑字段的样式,以帮助指示它们不可编辑,可以为该列分配一个renderer,这将允许您提供特定于单元格的属性,包括 CSS 样式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2014-11-05
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多