在我的网格中,我添加了一个行编辑器作为插件(带new Ext.ux.grid.RowEditor()
)。我想将焦点放在特定记录中的特定列上。
这就是我现在拥有的:
editor.startEditing(record);
;
它开始编辑并将焦点设置在第一个字段上,但我想定义一个不同的字段。在网上搜索我看到人们有类似:editor.startEditing(record, column)
或editor.startEdit(record, column)
,第一个似乎不起作用,后一个功能不存在。
解决方案可能依赖于'RowEditing'插件,但由于ExtJs对我来说是新手,我不明白该怎么做。
非常感谢任何帮助。
答案 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()
获取。