在ExtJs 3.4网格的特定单元格中开始编辑

问题描述:

在我的网格中,我添加了一个行编辑器作为插件(与new Ext.ux.grid.RowEditor())。我想将重点放在特定记录中的特定列上。在ExtJs 3.4网格的特定单元格中开始编辑

这就是我现在所拥有的: editor.startEditing(record);;

它开始编辑并将焦点设置在第一个字段上,但我想定义一个不同的字段。在网上搜索我看到人们有这样的:editor.startEditing(record, column)editor.startEdit(record, column)第一个似乎不工作,后者功能不存在。

该解决方案可以依赖'RowEditing'插件,但由于ExtJs对我来说是新手,我不明白该怎么做。

任何帮助,非常感谢。

我使用的是网格与行的编辑器在ExtJS的4.0.2和编程方式添加一行,并开始使用此代码进行编辑:

var editor = grid.getPlugin('myRowEditor'); 
grid.getSelectionModel().select(lastRowCounter); //0 based selector. 
editor.startEdit(lastRowCounter,1); //start editing on Second column. 
+0

我错误地认为它是ExtJs 4,但它实际上是3.4。无论如何感谢你的回答,这让我意识到这一点。我仍然不知道如何解决我的问题,但必须重新开始寻找解决方案。 – user618505 2012-02-25 12:29:52

试图浪费时间编程之前,我建议你阅读来源。

来自RowEditor:startEditing: function(rowIndex, doFocus)。所以有第二个参数,但不是索引。 如果您阅读onRowDblClick,您会发现他们首先致电startEditing禁用焦点,然后他们处理该细胞以便与doFocus进行对焦。

顺便说一句,doFocus取决于一个DOM事件(用户点击)。如果你没有这样的事件,你可以从这个功能中获得一些启发:他们只需在列编辑器上调用focus(),从ColumnModel#Column#getEditor()获得。

+0

谢谢。在2016年,你的话我最终使用http://docs.sencha.com/extjs/6.0.1/classic/src/CellEditing.js.html#Ext.grid.plugin.CellEditing-method-startEditByPosition – 2016-09-22 11:19:23