何时调用scrollIntoView()

时间:2012-06-07 13:22:13

标签: extjs gridpanel

我用谷歌搜索,搜索论坛和堆栈交换,但似乎没有什么对我有用。我正在运行extJS 3.2.1。

基本上我有一个gridpanel控件,其中的项目在完成后显示为灰色,但垂直视图窗格只有大约200 px,而列表可能会变得非常大,每次我执行store.reload时都会向下滚动()

我发现我可以通过调用以下方式手动移动列表中的下一个项目:

grid.getView()的getRow(15).scrollIntoView();

我不能使用selectRow()因为我启用了复选框而不是行选择。

无论如何,上面的代码工作得很好,我无法确定“在哪里”调用它。我已经尝试捕获store.load事件以及grid.afterrender,但似乎都没有。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果你转到store.reload();的来源,你可以看到它调用了加载方法。 http://docs.sencha.com/ext-js/3-4/source/Store.html#Ext-data-Store-method-reload

所以你真的应该挂钩加载事件。

这样的东西
store.on('load',function(){
    grid.getView().getRow(15).scrollIntoView();

})

http://docs.sencha.com/ext-js/3-4/#!/api/Ext.grid.CellSelectionModel-method-select 是单元格选择模型等效btw(行选择)。