Kendo 网格:在 Kendo 网格启动后更新列配置

Kendo Grid: Update column configuration after Kendo Grid initiated

请看这个example

我想在 kendo 网格启动后更新列。

例如当前的列定义是这样的:

             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"
            }]

我想要这个功能,因为它可以让用户动态改变整个网格。不仅是数据源,还有列。他们可以选择重置宽度、标题。他们可以选择查询他们想要的数据并将其呈现在具有 self-defined 列配置的网格中。

我知道我可以破坏网格然后创建另一个网格,但这可能没有必要,对吧?感谢任何帮助。

谢谢。

您首先需要获取对 kendoGrid 实例的引用。为此,您需要在模板中命名指令,例如:

<div kendo-grid="grid" options="mainGridOptions"></div>

因此在您的范围内 $scope.grid 将是网格实例。然后你可以使用普通的网格方法,比如 hideColumn:

$scope.grid.hideColumn(2); // hide the second column

演示: http://dojo.telerik.com/iyuZE/5