首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >刷新后的Kendo网格单元重新聚焦

刷新后的Kendo网格单元重新聚焦
EN

Stack Overflow用户
提问于 2014-03-28 10:08:16
回答 2查看 10.3K关注 0票数 4

我有一个可选择的、可导航的、可编辑的网格。在单元格中输入值后,必须更改更新单元格下单元格中的值。要显示两个单元格的更新值,我必须刷新网格。当我这样做时,编辑的单元格失去焦点。我找到了一种在保存事件期间重新调整上次编辑的单元格焦点的方法:

代码语言:javascript
复制
save: function (e) {
    var focusedCellIndex = this.current()[0].cellIndex;    //gets the cell index of the currently focused cell

    //...some dataItem saving (dataItem.set()) logic...

    this.refresh();    //refreshing the grid instance

    setTimeout(function () {    //refocusing the cell
        return function () {
            var focusedCell = $("#grid tr[data-uid='" + dataItem.uid + "'] td:nth-child(" + (focusedCellIndex + 1) + ")");
            $('#grid').data('kendoGrid').editCell(focusedCell);
        }
    }(), 200);
}

问题是,这是第一次工作,但如果我试图重新编辑同一单元格,该单元格失去焦点。当我尝试调试时,this.current()[0].cellIndex似乎在第二次尝试中返回,因为单元格聚焦不再有效。

有没有人知道为什么this.current()第一次工作,而不是第二次?还有其他方法来调整细胞的聚焦吗?

EN

Stack Overflow用户

发布于 2014-06-06 23:55:12

我没有足够的声誉来评论这个答案,但我要感谢拉尔斯·霍普纳的回答。它极大地帮助了我解决Kendo网格令人讨厌的刷新导航问题。

我还想补充一点,对于具有水平滚动条的网格,您的解决方案仍然会导致滚动尽可能地向左移动,同时保持上次编辑的单元格在视图中。为了防止这种不良行为,我做了以下工作:

代码语言:javascript
复制
grid.closeCell();
grid.refresh();
grid.refocusLastEditedCell();

在刷新前关闭单元格,保持滚动条的位置,现在一切都很好。希望这能帮助其他人查看你的答案。

票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22709698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档