用于MVC网格的Kendo UI如何隐藏ID列

Ala*_*her 4 asp.net-mvc telerik-mvc razor kendo-ui

我想隐藏Kendo网格的ID列,但仍然能够引用它以进行其他操作.我尝试使宽度= 0,但这只是使它非常宽.

@(Html.Kendo().Grid(Model)
        .Name("LineItems")
        .Columns(columns =>
            {
                columns.Bound(o => o.ID).Width(1);
                columns.Bound(o => o.Ui).Width(20);
                columns.Bound(o => o.QtyOrdered).Width(20);
                columns.Bound(o => o.Nomenclature).Width(200);
                columns.Bound(o => o.QtyShipped).Width(140);
                columns.Bound(o => o.QtyReceived).Width(200);
                columns.Bound(o => o.Hazmat).Width(50);

            })
Run Code Online (Sandbox Code Playgroud)

6月26日编辑

好的,我能够根据剑道论坛的帖子得到合理的解决方案.只要在数据源中定义了ID,就不必在网格中定义该列.您仍然可以访问ID值.我写了一个快速片段来证明它并且它返回ID而没有网格中的ID列.

<script>
  $(document).ready(function () {
      $("#btn").on("click", function () {

          var grid = $("#LineItems").data("kendoGrid");
          var data = grid.dataSource.data();
          $.each(data, function (i, item) {
              alert(item.ID);
           });
      });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

Ata*_*hev 5

自2012年第2季度发布以来,支持隐藏列.您现在可以使用该Hidden()设置.