dataSource.changed 事件是否有效?
实例化我的 Kendo UI 网格后,我将按照此处的文档绑定更改事件:
http://docs.kendoui.com/api/framework/datasource#change
//To set after initialization
dataSource.bind("change", function(e) {
    // handle event
});
我正在这样做:
// initialize
$("#grid").kendoGrid({
        dataSource: dataSource, 
        blah blah blah
)
});
// end of initialization
// bind afterwards
 var grid = $('#grid').data('kendoGrid');
  grid.dataSource.bind("change", function (e) {
      dataChanged();
  });
 //also tried a setTimeout:
  // bind afterwards
  setTimeout(function () {
    var grid = $('#grid').data('kendoGrid');
    grid.dataSource.bind("change", function (e) {
        dataChanged();
    });
}, 350);
 function dataChanged() {
   // handle "change" whatever that means -- documentation definition is hazy
   // does reassigning the data array constitute a change?
   // does changing the value of a particular item in the data array
   // constitute a change?
   // does removing an item from the data array constitute a change?
    var grid = $("#grid").data("kendoGrid");
    grid.refresh();
 }
但是当我执行以下任一操作时,不会调用我的 dataChanged() 函数:
var grid = $('#grid').data('kendoGrid');
grid.dataSource.data()[1]["deptname"] = 'XXX';
或者
grid.dataSource.data = aDifferentArray;
我不确定“更改”事件到底在听什么。究竟是什么应该触发它?
如果我创建一个全新的数据源,并将其分配给已有数据源的网格,我看不出这将如何触发现有数据源的更改事件。这样的事件(网格注意到其 dataSource 已被替换为不同的事件)将是网格级事件,而不是数据源级事件,对吗?