动态更改kendo网格列会擦除元素属性值

时间:2017-05-08 08:41:12

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

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

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重建它(如果它给出了任何线索)。

由于

1 个答案:

答案 0 :(得分:0)

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

现在我的代码就像这样,它有效:

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