差异btw Kendo grid _event数据绑定和选项数据绑定

时间:2016-01-28 16:25:11

标签: kendo-ui telerik kendo-grid

对于Kendo网格,我们可以使用bind在初始化后订阅事件。

想象一下以下代码:(如果你想在jsBin中尝试一下,我就能得到保障)

<div id="grid"></div>
<script>
  function foo(e) {
    console.log("foo");
  }
  function doo(e) {
    console.log("doo");
  }
  $(document).ready(function() {
    var grid = $("#grid").kendoGrid({
      columns: [
        { field: "name" },
        { field: "age" }
      ],
      dataSource: [
        { name: "Jane Doe", age: 30 },
        { name: "John Doe", age: 33 }
      ],
      dataBound: foo
  });
  $("#grid").data("kendoGrid").bind("dataBound", doo);
  debugger;
})
</script>

在调试器的时候,我在浏览器的控制台中观察到:

enter image description here

我看到绑定的doo只存在于_event数组中。这带来的麻烦是我需要以下列方式重用这个网格配置:

$("newgrid").kendoGrid($("oldgrid").data("kendoGrid").options);

我将失去约束事件。这是一个错误还是我以错误的方式解释它。谢谢。

1 个答案:

答案 0 :(得分:0)

grid.options仅在网格初始化期间使用,并且在初始化之后绑定事件不是选项的一部分。

虽然您可以在初始化后更新选项中的网格dataBound事件:

grid.setOptions({
    function(e){ foo(e); doo(e); }
})