Kendo网格在网格中触发多重控制的数据源事件。(MVVM绑定)

时间:2017-12-15 18:23:14

标签: kendo-ui kendo-grid 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();

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试使用.SET()方法而不是直接分配。

dataItem.set('CrudType', CruddTypeDelete);