Ale*_*der 0 javascript extjs extjs6-classic
我有一个缓冲的分组网格,我想滚动查看某一行(我手头有记录和记录/行的索引)。
我已经尝试过无证
grid.getView().scrollRowIntoView(index)
Run Code Online (Sandbox Code Playgroud)
但这仅适用于无缓冲网格,因为它调用
view.getRow(row)
Run Code Online (Sandbox Code Playgroud)
它只返回当前呈现的行,而不是未呈现的行。
是否有我忽略的官方功能可用,或者我还能做些什么来滚动到正确的记录?
bufferedRenderer 插件有一个功能scrollTo(recordIdx)。
gridpanelor gridviewor dataviewthat call 中没有函数bufferedRenderer.scrollTo,所以我猜你必须getView().bufferedRenderer.scrollTo直接从你的网格中调用。
更新:请注意,scrollTo如果 store 为空,则可能不会调用,因为这会导致框架中的错误。原因是scrollTo取记录索引;如果索引低于 0,它将被设置为 0,如果它是 store.Count() 或更大,它将被设置为 store.Count()-1(如果商店为空,则为 -1)。然后,从 store ( getAt(index)) 中获取记录,null当且仅当 store 为空时才返回该记录,然后检查该记录是否确实是一个模型:
if(record.isModel)
Run Code Online (Sandbox Code Playgroud)
然后导致错误
未捕获的类型错误:无法读取 null 的属性“isModel”
因此,在调用之前,您必须始终检查商店是否为空scrollTo:
if(view.store.getCount()) view.bufferedRenderer.scrollTo(index);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1212 次 |
| 最近记录: |