使用jquery循环获取kendo网格的所有列属性

时间:2014-04-21 06:14:08

标签: kendo-ui kendo-grid kendo-asp.net-mvc

我是否可以获取网格中所有列的属性,如宽度,编码,字段标题等。目标是覆盖网格的列设置并将其保存在数据库中。

我想覆盖它,例如:

  var columns = new[] 
            {
                new GridColumnSettings
                {
                    Member = "ProductName",
                    Width = "200px"
                },
                new GridColumnSettings
                {
                    Member = "UnitPrice",
                    Width = "130px",
                    Format = "{0:c}",
                },
                new GridColumnSettings
                {
                    Member = "UnitsInStock",
                    Width = "130px"
                },
                new GridColumnSettings
                {
                    Member = "LastSupply",
                    Width = "130px",
                    Format = "{0:d}"
                },
                new GridColumnSettings
                {
                    Member = "Discontinued"
                },
                new GridCommandColumnSettings
                {
                    Commands = 
                    {
                        new GridEditActionCommand(),
                        new GridDestroyActionCommand()
                    },
                    Width = "200px",
                    Title = "Commands"
                }
            };

1 个答案:

答案 0 :(得分:1)

我会说问题不是,如果可以的话,问题是你应该。答案是否定的,你不应该。

这是不受支持的。网格是一个网格,它有自己的列,可以隐藏或显示列,可以移动,调整大小...... 不应动态创建列。如果您更改宽度可能没问题,但只要您尝试更改名称,就不会因为实际删除列并创建另一个列。

那么,你为什么要这样做呢?也许有一种更简单的方法来获得相同的结果。

编辑:如果您想获取当前列状态,可以从grid.columns数组中获取它们。其中grid是KendoUI Grid对象。

示例:

var grid = $("#grid").data("kendoGrid")
console.log("Columns", JSON.stringify(grid.columns));

在此处查看此行动:http://jsfiddle.net/OnaBai/emD5t/2/