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

时间:2012-06-26 15:41:09

标签: asp.net-mvc razor telerik-mvc 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);

            })

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>

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

您可以通过Hidden()方法隐藏列。这对你好吗?

答案 2 :(得分:0)

看起来在当前版本中它不受支持,它们有一个页面,您可以投票将此功能添加到Kendo。他们可能已经开始研究它,因为状态确实在13个小时前说“已经开始”。

http://kendo.uservoice.com/forums/127393-kendo-ui-feedback/suggestions/2804580-ability-to-show-hide-columns-in-grid

与此同时,通过将该列的样式设置为display:none,某些用户可能会在此帖子中找到一些建议 http://www.kendoui.com/forums/ui/grid/hide-columns-in-grid-kendo.aspx