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

时间:2012-02-24 21:08:10

标签: extjs3

在我的网格中,我添加了一个行编辑器作为插件(带new Ext.ux.grid.RowEditor())。我想将焦点放在特定记录中的特定列上。

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

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

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

我在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.

答案 1 :(得分:4)

在通过尝试浪费时间编程之前,我建议你阅读源代码。

来自RowEditor:startEditing: function(rowIndex, doFocus)。所以有第二个参数,但不是索引。 如果您阅读onRowDblClick,您会发现他们首先调用startEditing禁用焦点,然后他们会处理要关注的单元格doFocus

顺便说一下,doFocus取决于DOM事件(用户点击的位置)。如果您没有此类活动,可以从该功能中获取灵感:他们只需在列编辑器上调用focus(),从ColumnModel#Column#getEditor()获取。