gpt4 book ai didi

javascript - 启用虚拟化时选择剑道网格中的行

转载 作者:行者123 更新时间:2023-11-28 08:18:52 25 4
gpt4 key购买 nike

我正在使用 kendoUI 网格小部件来显示数据集。由于数据集的大小相当大(200-400k),我使用虚拟化功能来提高性能和可用性。在设置网格时,我遇到了以下问题:因为启用了虚拟化,所以每次页面更改时都会刷新网格 DOM 对象(我指的是这里的表行)。网格的实现会导致以下行为:我可以选择行,但在向下滚动到下一页并向后滚动后,选择消失。以下是可以重现此问题的示例:http://trykendoui.telerik.com/OkOg

也许有人有类似的问题并可以提供一些解决方法。

最佳答案

您可以在网格的 dataBound 事件中恢复选择,例如像这样(请注意,这仅适用于单行选择,因此您可能需要适应其他模式):

$("#grid").kendoGrid({
dataSource: dataSource,
change: function () {
this._lastSelectedItem = this.dataItem(this.select());
},
dataBound: function () {
var row;
if (this._lastSelectedItem) {
row = $(this.tbody).find("tr[data-uid='" + this._lastSelectedItem.uid + "']")
if ($(row).length > 0) {
// or this.select(row); if you don't mind the
// change event getting triggered again
$(row).addClass("k-state-selected");
}
}
},
height: 430,
scrollable: {
virtual: true
},
selectable: true,
columns: columns
});

关于javascript - 启用虚拟化时选择剑道网格中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com