2015-01-20 72 views
1

我有一个Kendo网格,使用虚拟分页和导航(用于键盘导航)进行设置。根据内容的大小,有时我无法看到当前视图中的所有数据,并且当我使用鼠标滚动时,没有任何问题,但是当我尝试使用键盘导航到最下面的行时,行不滚动到视图中。Kendo Grid:将焦点单元格滚动到视图中

将元素滚动到视图中是非常简单的,假设您挂钩到触发滚动的事件。我似乎无法弄清楚如何挂钩到网格上的焦点事件来自动实现它。

JSFiddle

我如何可以挂接到焦点事件给当前焦点细胞滚动到视图。请注意,当前聚焦的单元格与选定的单元格/行不同。

滚动代码:

$grd.animate({ 
    scrollTop: $ele.offset().top - $grd.offset().top + $grd.scrollTop() 
}); 
+0

你可能会寻找'change'事件:我相信它会通过点击或键盘导航捕获行/单元格更改。以下是未经测试的代码,但它可能有效:'this.element.find(“.k-grid-content”)。animate({scrollTop:this.select()。position()。top },500); ' – chiapa 2015-01-21 09:56:16

+0

@chiapa - 更改事件与更改所选行或单元格有关,而不是更改焦点。通常情况下,除非设置了Navigatable选项,否则无法看到焦点更改。看看JSFiddle,看看我指的是什么。以下是用于更改事件的API文档(用户在网格中选择表格行或单元格时触发):http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-change – 2015-01-21 17:09:08

+0

你必须有可滚动的属性为虚拟?如果没有,按照预期删除'虚拟'和滚动工程:[fiddle here](http://jsfiddle.net/q94ywrs1/3/) – chiapa 2015-01-21 17:18:51

回答

相关问题