簡體   English   中英

啟用虛擬化后在Kendo網格中選擇行

[英]Selecting row in kendo grid when virtualization is enabled

我正在使用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
}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM