1

我搜索了高低,找不到这个,我所有的方法都不起作用。

基本上,这就是我所拥有的。我有一个ExtJS 4包含许多行的网格面板(使用)。每行都有一个包含组合框的列。

现在,我有一个“添加”按钮,单击该按钮会添加一个新模型并将其插入到商店中。效果很好。但是,用户必须使用鼠标并单击新插入行内的组合框才能开始输入。我们的应用程序主要集中在键盘上,不鼓励使用鼠标(作为数据输入应用程序)。

我可以选择第一行:

grid.view.getSelectionModel().select(newRow);

但是,里面的组合框没有焦点。

我该如何解决这个问题?

谢谢。

编辑

我试图在 SO 上发布我的源代码,但它一直超时,所以这是gist我的代码:

https://gist.github.com/1089782

谢谢

4

2 回答 2

1
  1. 您必须在某处保存对该组合框的引用。例如,在记录中,您可能有字段“组合”,它将引用组合框。
  2. 选择后你必须做:record.combo.fosus(); 仅此而已。
于 2011-07-17T18:46:13.680 回答
1

我没有检查它的组合框,但它适用于文本字段:

  1. 首先将 id 分配给 celledit 插件:

    plugins: [ Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1, id: 'my_plugin' }) ]

  2. 然后,如果newRow新插入的模型和带有组合框的列具有索引 == 1,则可以使用: grid.getPlugin('my_plugin').startEditByPosition({row: newRow.index, column: 1});

于 2011-07-22T08:09:25.490 回答