【问题标题】:setOptions doesn't rebind grid ? kendo uisetOptions 不会重新绑定网格?剑道ui
【发布时间】:2016-06-03 10:16:51
【问题描述】:

我正在尝试使用 setOptions 重新绑定我的网格,这似乎是一个合适的选项

目前我正在使用 Kendo UI v2014.2.903 并且我正在尝试使用 setOptions 但它不会重新加载我的网格。

代码:

<div id="grid"></div>
<script>
    $("#grid").kendoGrid({
        columns: [
          { field: "name" },
          { field: "age" }
        ],
        dataSource: [
            { name: "Jane Doe", age: 30 },
            { name: "John Doe", age: 33 }
        ]
    });

  setTimeout(function(){
    alert('update check')
    var grid = $("#grid").data("kendoGrid");
    grid.setOptions({
       columns: [
          { field: "name" },
          { field: "age" },
         { field: "code" }
        ],
         dataSource: [
            { name: "Jane Doe", age: 30,code:1 },
            { name: "John Doe", age: 33,code:11 }
        ]
    });
    grid.setDataSource([
            { name: "Jane Doe", age: 30,code:1 },
            { name: "John Doe", age: 33,code:11 }
        ]);
  },2000);
</script>

示例 here 显示问题。

当我将版本更新为2016.2.504 setOptions 似乎工作示例here

如果有人能给我一些技巧来解决我在 2014 版本中看到的问题,那将很有帮助。

【问题讨论】:

  • 看起来 Kendo UI v2014.2.903 不支持 setOptions 方法
  • 我相信。此外,我看不到未定义的错误;我可以在 js 文件 v2014 中看到函数定义。 @VivekParekh 任何解决方法。欢呼

标签: kendo-ui dojo telerik kendo-grid


【解决方案1】:

我认为这可能是 Kendo UI v2014.2.903 的错误或不支持的功能(我不确定,我认为您应该在 Telerik 论坛上发帖以获得实际答案。我也很好奇)

但是既然你想要一些工作/破解。一种方法是修改列如下:

var grid = $("#grid").data("kendoGrid");
var ds = grid.dataSource;

grid.columns = [];
grid.thead.remove();
ds.data([{ name: "Jane Doe", age: 30,code:1 },
        { name: "John Doe", age: 33,code:11 }]);

这是working example

【讨论】:

  • 好吧!我之前试过这个,谢谢你提出这个+1。使用这种方法(通过删除thead)的实际问题是我们无法在数据呈现之前自定义网格列的显示。
  • 无论如何,谢谢。我要标记这个,它一定是一种错误。我想在 Telerik 论坛上发帖,但我做不到。欢呼
猜你喜欢
  • 1970-01-01
  • 2012-07-12
  • 2017-10-15
  • 2014-09-08
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多