0

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

4

1 回答 1

0

可能发生的情况是,在 DropDownList 中选择的一项正在更改绑定数据项上的值。这会导致 DataSource 触发“更改”事件,因此表知道它需要更新。Kendo Grid 的编写方式是,当它从 DataSource 获取更改事件时,它会重新创建表格单元格。我很确定现有的表格单元格已从 DOM 中删除,并在其位置添加了一组新单元格。发生这种情况时,选择将被删除。


保留所选行的一种方法是将函数处理程序添加到网格的“更改”事件,并保存所选数据项的 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 + '"]'));
        }
    }
});
于 2013-09-07T13:10:40.813 回答