我有一个kendo ui网格,单元格中有下拉列表。问题是当某人在下拉列表中选择新值时,我将丢失所选行。有人可以帮我吗?
答案 0 :(得分: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 + '"]'));
}
}
});