ExtJs单元格编辑

问题描述:

我有一个3列5行的网格。ExtJs单元格编辑

我已将CellEditing插件附加到网格。 而对于第三列,我定义了一个数字字段editior。

所以现在由于这个每行第3列都有一个数字字段编辑器附加到它。

但由于某些条件存在于数据/列元数据中,我想禁用第2行和第4行的编号栏编辑器。

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

ExtJS有办法处理这种情况。

我使用ExtJS的5

+2

使用'beforeedit'事件并为不可编辑的单元格返回false。 –

+0

有没有其他办法做到这一点?我不想使用beforeedit事件。基本上我想在编辑器连接到单元格时处理这个问题。 –

+1

不,因为编辑器已附加到列并重新使用。 'beforeedit'事件是编辑器连接到单元格的地方。另外,我很好奇你为什么说你不想使用'beforeedit',是什么让你这么说? –

正如埃文的评论中指出,你需要使用beforeedit事件开始之前否决编辑。

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

如果您想对不可编辑的字段进行不同的样式设置,为了帮助表明它们不可编辑,可以为该列分配一个renderer,该列允许您提供特定于单元格的属性(包括CSS样式)。