Kendo onSave后Grid跳到顶部

Kendo Grid jumps to top after onSave

我有一个网格需要设置:

scrollable: {
    virtual: true
},

当用户编辑单元格然后更新(或 onSave(e))他们的更改。网格重置回页面顶部。我不知道为什么。用户每次尝试更改单元格内容时都会丢失位置。

当我做的时候

scrollable: false, 

它留在原地。我认为这是 Telerik Kendo 中的一个巨大错误。有没有人知道如何在保存更改后留在网格上?

更新

这个问题只出现在 IE 11 中。不幸的是我的客户端只能使用 IE11。

我认为这对你有用:

使用GridViewRowInfo获取所选行的行信息并将滚动设置为您的自定义行和列。

if (this.radGridView1.SelectedCells.Count > 0)
{
    GridViewRowInfo row = this.radGridView1.SelectedCells[0].RowInfo;
    radGridView1.TableElement.ScrollTo(row.Index, 0);
}

答案是在绑定之前保存您当前的位置。

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);
}