1

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

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

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

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

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

无论如何,上面的代码效果很好,只是我无法确定调用它的“位置”。我曾尝试捕获 store.load 事件以及 grid.afterrender ,但似乎都不起作用。

有任何想法吗?

4

1 回答 1

1

如果你去源代码store.reload();你可以看到它调用了 load 方法。 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 是单元格选择模型等效的顺便说一句(行选择)。

于 2012-06-08T08:45:50.010 回答