javascript - 剑道网格数据绑定(bind)正在递归

标签 javascript jquery kendo-ui grid kendo-grid

我有一个带有 dataBound 函数集的 kendoGrid。

下面是我的代码示例,数据绑定(bind)内部是一些更新 UI View 的集。这个问题是,如果我将调试器放在第二行(var pageData ...),我可以看到 .set 再次触发 dataBound 函数。我假设该函数应该运行一次,并且 .sets 不会重新触发它。

如果您知道我做错了什么,请帮忙。谢谢

function() {
    var pageData = grid.dataSource.data();
    $.each(pageData, function(index, row){
        if (row.Id == cachedRowWithChanges.Id) { //example
            row.set("CartTotal", cachedRowWithChanges.CartTotal);
        }
    });
}

最佳答案

您可以移动逻辑来更改数据源的事件

 dataSource: {        
    change: function(e) {
         // data will have new data source
         var data = this.data();    
    }  
 }

http://jsbin.com/saqaxefezo/1/edit?html,js,output

关于javascript - 剑道网格数据绑定(bind)正在递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083580/

相关文章:

ajax - 从 MVC 中的 View 调用 Controller 方法

javascript - 使用 Tab 键时禁用只读文本框的光标焦点

c# - Kendo Grid 自定义操作按钮图标

javascript - 将图像复制到剪贴板

javascript - Jade - 根据环境设置基本目录

javascript - 我可以在使用 Marionette 在父区域中显示布局之前将 View 渲染到布局区域吗?

javascript - Jquery 将数据堆栈附加在彼此之上,而不是超过表长度

javascript - 如何使用 Kendo UI mvc 扩展显示网格页脚值

javascript - 如何使用 Kendo UI 在多选中获取更改的元素?

javascript - JQuery-UI sortable 表单提交排序