问题跳转到网格面板中的一行

时间:2013-12-03 10:27:41

标签: javascript extjs extjs4.2

我正在使用Extjs 4.2。我有一个网格面板,它有> 1000行,并且打开了多重选择。

单击我要选择的按钮并使用以下内容移至第20行:

grid.getSelectionModel().select(20, false, true);
grid.getView().getNode(20).scrollIntoView();

如果我在第20行附近,这可以正常工作但是它正确地选择第20行但是它没有跳到第20行而我得到错误:TypeError:grid.getView(...)。getNode(...)未定义

任何帮助非常感谢。

3 个答案:

答案 0 :(得分:2)

Rixo让我走上正确的道路询问缓冲网格。

我发现这个例子包含了所有内容: http://docs.sencha.com/extjs/4.2.0/extjs-build/examples/grid/buffer-grid.html

这是允许我跳到第20行的行:

grid.view.bufferedRenderer.scrollTo(20, true);

答案 1 :(得分:1)

问题是当你远离它时没有这样的Node,因为GridView根本不会因为性能问题而破坏HTML元素。您可以使用gridView.focusNode(record)代替:

var record = gridView.getStore().getById(20);
gridView.focusNode(record);

在焦点之后选择记录:

grid.getSelectionModel().select(record);

答案 2 :(得分:0)

首先使用以下选择您的记录:

var rec = grid.store.findRecord('id',rowId);

使用以下选择记录:

grid.getSelectionModel().select(  rec  );

使用以下方式聚焦记录:

grid.getView().focusRow(  );