我有一个我需要设置的网格:
scrollable: {
virtual: true
},
当用户编辑单元格时,然后更新(或onSave(e))他们的更改。网格重置回页面顶部。我不知道为什么。用户每次尝试更改单元格内容时都会失去位置。
当我做
scrollable: false,
它保持不变。我认为这是Telerik Kendo的一个巨大错误。保存更改后有没有人想出如何在电网上保持原状?
更新
此问题仅发生在IE 11中。不幸的是我的客户端只能使用IE11。
答案 0 :(得分:0)
我认为这适合你:
使用GridViewRowInfo
获取所选行的行信息,并设置滚动到自定义行和列。
if (this.radGridView1.SelectedCells.Count > 0)
{
GridViewRowInfo row = this.radGridView1.SelectedCells[0].RowInfo;
radGridView1.TableElement.ScrollTo(row.Index, 0);
}
答案 1 :(得分:0)
答案是在绑定之前保存当前位置。
in
onGridBinding(){
_currentLeftPosition = $(".k-virtual-scrollable-wrap").scrollLeft();
}
in onGridBound(){
//Go Back to previous position
var vs = mainGrid.wrapper.find('.k-grid-content').data('kendoVirtualScrollable');
var scrollGridContentOffsetTop = mainGrid.wrapper.find('.k-grid-content').offset().top;
var selectContentOffsetTop = mainGrid.content.offset().top;
var distanceTop = selectContentOffsetTop - scrollGridContentOffsetTop;
var scrollTop = vs.verticalScrollbar.scrollTop();
$("#mainGrid div.k-virtual-scrollable-wrap").animate({scrollTop: distanceTop + scrollTop,scrollLeft: _currentLeftPosition}, 0);
$("#mainGrid div.k-scrollbar-vertical").animate({scrollTop: distanceTop + scrollTop}, 0);
}