Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何刷新KendoUI/Angular grid的列_Angularjs_Kendo Ui_Kendo Grid - Fatal编程技术网

Angularjs 如何刷新KendoUI/Angular grid的列

Angularjs 如何刷新KendoUI/Angular grid的列,angularjs,kendo-ui,kendo-grid,Angularjs,Kendo Ui,Kendo Grid,根据KendoUI/Angular documentation(),网格不支持在小部件实例化后重新定义列。这就是剑道提供k-ng-delay关键字的原因。这很好,但是我需要多次重新定义网格列,而不是一次。有没有办法在Angular中以编程方式重新创建网格?或者关于如何多次重新定义网格列的任何其他想法?您应该使用k-rebind属性在某些范围变量更改时自动更新小部件: 例如: <div kendo-grid="grid" k-options="gridOptions" k-rebind="g

根据KendoUI/Angular documentation(),网格不支持在小部件实例化后重新定义列。这就是剑道提供
k-ng-delay
关键字的原因。这很好,但是我需要多次重新定义网格列,而不是一次。有没有办法在Angular中以编程方式重新创建网格?或者关于如何多次重新定义网格列的任何其他想法?

您应该使用k-rebind属性在某些范围变量更改时自动更新小部件:

例如:

<div kendo-grid="grid" k-options="gridOptions" k-rebind="gridOptions">
</div>

在本例中,我指定如果gridOptions范围变量被更新,则需要销毁并重新创建网格

我创建了一个演示:


希望这有帮助

我想进一步介绍一下保罗·索托的回答(谢谢!)

我正在自动生成列,这就是我如何重新绑定到全新的resultset+列架构的方式:

var grid=$(“#grid”).data(“kendoGrid”);
$scope.mainGridOptions.columns=columnSchema.columns;
$scope.mainGridOptions.dataSource.schema=columnSchema.schema;
$scope.mainGridOptions.dataSource.data=数据

网格如下所示:

<kendo-grid id="grid" class="qs-site-plannerGrid" k-options="mainGridOptions" k-rebind="mainGridOptions">    </kendo-grid>


据我所知,没有直接的方法,但您可以从该div/parent中删除元素(网格),并使用新配置或列和数据重新创建整个网格。如何以角度重新创建网格?使用jquery?我对angular不太熟悉,因此无法评论如何实现网格重建。但是使用Jquery/JS要简单得多。可能重复我尝试使用k-rebind,但遇到了很多问题,最终将Jquery KendoGrid包装到一个目录中。您的解决方案工作正常,但。。。不起作用