带有下拉列表的剑道 UI 网格

Kendo ui grid with dropdownlists

本文关键字:UI 网格 下拉列表      更新时间:2023-09-26

我有一个剑道UI网格,单元格中带有下拉列表。问题是当有人在下拉列表中选择新值时,我会丢失所选行。有人可以帮助我吗?

可能发生的情况是,在 DropDownList 中选择某个项正在更改绑定数据项的值。这会导致数据源触发"更改"事件,以便表知道它需要更新。剑道网格的编写方式是,当它从数据源获取更改事件时,它会重新创建表单元格。我很确定现有的表格单元格会从 DOM 中删除,并在其位置添加新的集合。发生这种情况时,所选内容将被删除。


保留所选行的一种方法是将函数处理程序添加到网格的"change"事件中,并保存所选数据项的 uid。然后在"dataBound"事件上,您可以重新选择该行。例如:

var selectedUid;
$("#grid").kendoGrid({
    ...
    change: function () {
        selectedUid = this.select().data("uid");
    }
    dataBound: function () {
        if(selectedUid) {
            this.select($(this.element).find('tr[data-uid="' + selectedUid + '"]'));
        }
    }
});