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

问题描述 投票:0回答:1

我有一个使用行模板的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();

提前致谢

kendo-ui kendo-grid kendo-mvvm
1个回答
0
投票

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

dataItem.set('CrudType', CruddTypeDelete);
© www.soinside.com 2019 - 2024. All rights reserved.