请参阅此example
我希望在剑道网格启动后更新列。
例如,当前列定义如下:
columns: [{
field: "FirstName",
title: "First Name",
width: "120px"
},{
field: "LastName",
title: "Last Name",
width: "120px"
},{
field: "Country",
width: "120px"
},{
field: "City",
width: "120px"
},{
field: "Title"
}]
在网格显示之后,我想更新列的定义:
var newCol = [{
field: "FirstName",
title: "You First Name",
width: "200px"
},{
field: "LastName",
title: "You Last Name",
width: "200px"
},{
field: "Title"
}]
我想要这个功能,因为它允许用户动态更改整个网格。不仅是dataSource,还有列。他们可以选择重置宽度,标题。他们可以选择查询他们想要的数据,并使用自定义列配置在网格中显示它。
我知道我可以摧毁网格然后创建另一个,但这可能没有必要,对吧?任何帮助表示赞赏。
感谢。
答案 0 :(得分:5)
所有你需要获得对kendoGrid实例的引用的拳头。为此,您需要在模板中命名指令,例如:
<div kendo-grid="grid" options="mainGridOptions"></div>
因此,在您的范围$scope.grid
将是网格实例。然后,您可以使用常规网格方法,如hideColumn
:
$scope.grid.hideColumn(2); // hide the second column