动态更改 kendo 网格列擦除元素属性值
Dynamically change kendo grid columns wipes element properties values
我需要为每个选定的过滤器动态重建我的 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 重建它(如果它提供任何线索)。
谢谢
感谢@Orilux,我在尝试'grid.options = gridDef'.
之类的方法之前使用了setOptions方法
现在我的代码是这样的并且它有效:
setGridDefinition: function (grid, gridId, gridDef) {
grid.setOptions(gridDef);
},
我需要为每个选定的过滤器动态重建我的 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 重建它(如果它提供任何线索)。
谢谢
感谢@Orilux,我在尝试'grid.options = gridDef'.
之类的方法之前使用了setOptions方法现在我的代码是这样的并且它有效:
setGridDefinition: function (grid, gridId, gridDef) {
grid.setOptions(gridDef);
},