Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何设置焦点?_Extjs - Fatal编程技术网

Extjs 如何设置焦点?

Extjs 如何设置焦点?,extjs,Extjs,我有2个网格,每个网格中有一个选定的行。在第二个网格中编辑单元格后,我想将焦点设置为第一个网格 grid2.on('afteredit') { grid1.focus() }) grid2.on('afteredit'){ grid1.focus() }) 不起作用。怎么做?有几件事: 1。事件侦听器语法 如果这能起作用,你会想做这样的事情: grid2.on('afteredit', function(event) { grid1.focus(); }, this);

我有2个网格,每个网格中有一个选定的行。在第二个网格中编辑单元格后,我想将焦点设置为第一个网格

grid2.on('afteredit') { grid1.focus() }) grid2.on('afteredit'){ grid1.focus() }) 不起作用。怎么做?

有几件事:

1。事件侦听器语法

如果这能起作用,你会想做这样的事情:

grid2.on('afteredit', function(event) {
    grid1.focus();
}, this);
2。焦点的使用

尽管ExtJS API文档指出.focus()是一个可以在网格组件上调用的有效方法,但值得注意的是,该方法的描述实际上表明:

试着关注这个组件

尽管GridPanels等继承自Component类,但focus()通常用于基于表单的组件,这些组件也继承自Component类。因此,调用focus()并不意味着它将以您期望的方式为每个组件工作


你到底想关注网格的哪一部分?如果您试图关注的网格中有可编辑字段,则可以使用“afteredit”事件触发传递的对象中的某些属性来关注这些字段,默认情况下,该属性包含对网格、记录、字段、值、原始值、行和列索引的引用。

RowSelectionModel有一个名为selectRow()的方法将突出显示附加到记录的指定行。假设这就是你所说的专注

也就是说,您的代码看起来像这样

`

`

差不多吧

grid2.on('afteredit', function(edit_event) {
    var id = edit_event.record.get('id');
    var grid1_record = grid1.store.getById(id);
    grid1.getSelectionModel().selectRow(grid1_record);
}, this);