我用谷歌搜索,搜索论坛和堆栈交换,但似乎没有什么对我有用。我正在运行extJS 3.2.1。
基本上我有一个gridpanel控件,其中的项目在完成后显示为灰色,但垂直视图窗格只有大约200 px,而列表可能会变得非常大,每次我执行store.reload时都会向下滚动()
我发现我可以通过调用以下方式手动移动列表中的下一个项目:
grid.getView()的getRow(15).scrollIntoView();
我不能使用selectRow()因为我启用了复选框而不是行选择。
无论如何,上面的代码工作得很好,我无法确定“在哪里”调用它。我已经尝试捕获store.load事件以及grid.afterrender,但似乎都没有。
有什么想法吗?
答案 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(行选择)。