Kendo网格在网格中触发多个控件的数据源事件。(MVVM绑定)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kendo网格在网格中触发多个控件的数据源事件。(MVVM绑定)相关的知识,希望对你有一定的参考价值。
我有一个使用行模板的kendo网格。该模板包含组合框,自动完成...网格也有点击事件的图标。
问题:从组合框/图标单击或任何更改中选择值时,我们正在更新网格数据源的值并调用grid.refresh()。其中刷新整个网格。
此时,它将重新绑定在传输读取函数内获取的所有控件的数据源。
有什么办法可以防止这种情况发生。或者在防止它时,它会导致使用更新的数据刷新网格时出现问题。请在下面找到代码。
validAttributeDataSource = new kendo.data.DataSource({
serverFiltering: true,
serverPaging: true,
pageSize: 20,
type: "json",
transport: {
read: function (options) {
if (rowObj.IsLoad || isBrowserIE) {
ComboboxReadForAttributeAndValidValues(rowObj, "GetAttributeValidValuesAndAttributesContains", options, row.AttributeId, attributeNm, operatorId);
rowObj.IsLoad = false;
}
else {
options.success(rowObj.OldValues);
}
}
}
});
用于更新数据源的示例代码
var gridObj = $('#Grid.k-grid').data("kendoGrid");
var selectedRow = $(event.currentTarget).closest("tr");
var dataItem = gridObj.dataItem(selectedRow);
dataItem.CrudType = CruddTypeDelete;
gridObj.refresh();
提前致谢
答案
尝试使用.SET()方法而不是直接赋值。
dataItem.set('CrudType', CruddTypeDelete);
以上是关于Kendo网格在网格中触发多个控件的数据源事件。(MVVM绑定)的主要内容,如果未能解决你的问题,请参考以下文章
弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口