如何刷新 KendoUI/Angular 网格的列
How to refresh columns of KendoUI/Angular grid
根据Kendo UI/Angular文档(see here),网格不支持在实例化小部件后重新定义列。这就是 Kendo 提供 k-ng-delay
关键字的原因。这很好用,但是我需要多次重新定义网格列,而不仅仅是一次。有没有办法在 Angular 中以编程方式重新创建网格?或者关于如何多次重新定义网格列的任何其他想法?
您应该使用 k-rebind 属性让小部件在某些范围变量更改时自动更新:
例如:
<div kendo-grid="grid" k-options="gridOptions" k-rebind="gridOptions">
</div>
在这种情况下,我已指定如果更新 gridOptions 范围变量,则需要销毁并重新创建网格。
我创建了一个演示:http://plnkr.co/edit/sMaIMfrEw5hFRLzFpXvn
More information about k-rebind
希望对您有所帮助!
只是为了扩展 Paulo Soto 的回答(谢谢!)
我正在自动生成列,这就是我如何重新绑定到一个全新的结果集 + 列架构:
var grid = $("#grid").data("kendoGrid");
$scope.mainGridOptions.columns = columnSchema.COLUMNS;
$scope.mainGridOptions.dataSource.schema = columnSchema.SCHEMA;
$scope.mainGridOptions.dataSource.data = data;
网格如下所示:
<kendo-grid id="grid" class="qs-site-plannerGrid" k-options="mainGridOptions" k-rebind="mainGridOptions"> </kendo-grid>
根据Kendo UI/Angular文档(see here),网格不支持在实例化小部件后重新定义列。这就是 Kendo 提供 k-ng-delay
关键字的原因。这很好用,但是我需要多次重新定义网格列,而不仅仅是一次。有没有办法在 Angular 中以编程方式重新创建网格?或者关于如何多次重新定义网格列的任何其他想法?
您应该使用 k-rebind 属性让小部件在某些范围变量更改时自动更新:
例如:
<div kendo-grid="grid" k-options="gridOptions" k-rebind="gridOptions">
</div>
在这种情况下,我已指定如果更新 gridOptions 范围变量,则需要销毁并重新创建网格。
我创建了一个演示:http://plnkr.co/edit/sMaIMfrEw5hFRLzFpXvn
More information about k-rebind
希望对您有所帮助!
只是为了扩展 Paulo Soto 的回答(谢谢!)
我正在自动生成列,这就是我如何重新绑定到一个全新的结果集 + 列架构:
var grid = $("#grid").data("kendoGrid");
$scope.mainGridOptions.columns = columnSchema.COLUMNS;
$scope.mainGridOptions.dataSource.schema = columnSchema.SCHEMA;
$scope.mainGridOptions.dataSource.data = data;
网格如下所示:
<kendo-grid id="grid" class="qs-site-plannerGrid" k-options="mainGridOptions" k-rebind="mainGridOptions"> </kendo-grid>