【问题标题】:Dynamically change kendo grid columns wipes element properties values动态更改剑道网格列擦除元素属性值
【发布时间】:2017-05-08 08:41:11
【问题描述】:

我需要根据选定的过滤器动态重建我的剑道网格列,所以我称之为代码:

setGridDefinition: function (grid, gridId, gridDef) {
    var options = grid.options;
    options.columns = gridDef.columns;
    options.groupable = gridDef.groupable;
    options.sortable = gridDef.sortable;
    options.selectable = gridDef.selectable;
    options.pageable = gridDef.pageable;
    options.scrollable = gridDef.scrollable;
    options.filterable = gridDef.filterable;
    options.resizable = gridDef.resizable;
    grid.destroy();
    $("#" + gridId).empty().kendoGrid(options);
},

问题是网格现在缺少一些非常重要的属性值,例如元素、内容等。

唯一仍有值的属性是:columns、dataSource、options、_cellId、_data、_events。

任何想法如何不丢失它们或重建它们?

我从 MVC 代码构建网格,并在选择一些过滤器后从 JavaScript 重建它(如果它提供任何线索)。

谢谢

【问题讨论】:

  • 您是否尝试过在现有网格上使用 setOptions() 而不是重建它? docs.telerik.com/kendo-ui/api/javascript/ui/…
  • 谢谢,它似乎正在工作。到目前为止,我尝试过简单地执行“grid.options = gridDef”。我没有注意到 setOptions 方法。谢谢你:)

标签: javascript asp.net-mvc kendo-ui grid dynamic-columns


【解决方案1】:

感谢@Orilux,在我尝试类似“grid.options = gridDef”之前,我使用了 setOptions 方法。

现在我的代码是这样的,它可以工作了:

setGridDefinition: function (grid, gridId, gridDef) {
    grid.setOptions(gridDef);
},

【讨论】:

    猜你喜欢
    • 2013-06-16
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多