AG网格失去焦点后,我该如何聚焦



我有一个函数可以使网格跳过多行。我使用的是网格的无尽行模型,因此一次跳过30多行会提示网格在跳跃后重新绘制接下来的几行,并失去对整个网格的关注。此时页面上的任何其他关键事件都将作为环绕页面元素的一部分而不是网格的一部分进行处理。

在这一行的跳跃之后,我如何将网格重新放回焦点?我认为这是一个HTML问题,因为由于网格的HTML失焦,没有一个网格api函数(如果附加到该函数(可以工作,而且我不能在函数的按键中添加全局事件侦听器,因为这样会扰乱页面上的其他属性。我该如何重新聚焦它?非常感谢。

为了滚动到某一行并选择第一个单元格,您需要获得焦点单元格并记住其行索引:

// remember previous index
var lastRowIndex = gridApi.getFocusedCell().rowIndex;
// perform your actions...
// scroll to index
gridApi.ensureIndexVisible(lastRowIndex);
// select first cell/column 
gridApi.setFocusedCell(lastRowIndex, columnApi.getAllDisplayedColumns()[0]);

如果你需要滚动到网格本身,你可以使用:

const element = document.getElementById("gridId");
element.scrollIntoView();

https://www.w3schools.com/jsref/met_element_scrollintoview.asp

最新更新