【问题标题】:Kendo UI MVVM Grid Refresh/ReloadKendo UI MVVM 网格刷新/重新加载
【发布时间】:2015-09-24 14:09:17
【问题描述】:

这些解决方案 (Reloading/refreshing Kendo Grid)

    $('#GridName').data('kendoGrid').dataSource.read();
    $('#GridName').data('kendoGrid').refresh();

不适用于 Kendo MVVM 网格。特别是 $('#GridName').data('kendoGrid') 返回 'undefined'。

我的问题是:可以使用什么方法通过 Kendo UI MVVM 网格中的按钮控制器触发网格刷新/重新加载?

【问题讨论】:

  • 您的网格的id 是什么?
  • 在上面的例子中它会是'GridName'
  • 要返回 undefined 这是因为在 HTML 中没有定义 ID 为“GridName”的网格。能否展示更多代码、HTML 和脚本?
  • 您好 chiapa,感谢您的回复。我要打断你,因为你在寻找这个问题的答案时走错了路,尽管完全可以理解。原因不是因为网格未定义,而是剑道网格使用MVVM框架创建的对象的结构。不是未定义的“$('#GridName')”,而是未定义的“.data('kendoGrid')”。对象结构不同于标准的jQuery网格对象。
  • 这就是这个问题的本质,我能找到的 kendo 文档和所有相关的论坛线程只能解决刷新/重新加载使用网格的 jQuery 框架构建的网格,因此指向网格“.data(...)”对象和函数。我试图在结构上不具有相同对象和功能的 MVVM 网格中找到刷新/重新加载的方法。 MVVM 可能不支持我正在寻找的刷新/重新加载,但我没有看到任何地方明确说明。

标签: javascript jquery mvvm kendo-ui


【解决方案1】:

这是一个 MVVM 的解决方案,它允许您刷新 Kendo 网格的数据源。如果它是页面上唯一的网格,则解决方案可以正常工作:

$("div[data-role='grid']").data("kendoGrid").dataSource.read();

Here is an example fiddle

【讨论】:

    【解决方案2】:

    $('#id').data('kendoGrid') 在网格未初始化时返回 'undefined'。如果 $('#id') 不为空且网格在页面 data 上可见,则不能为 undefined。如果在页面上不可见,您应该检查您的 jquery 选择器或初始化网格。

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 2014-03-18
      • 1970-01-01
      • 2013-08-26
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      相关资源
      最近更新 更多