2012-06-26 46 views
4

我想隐藏Kendo网格的ID列,但仍可以引用其他操作。我试图使宽度= 0,但只是使它真的很宽。MVC Grid的Kendo UI如何隐藏ID列

@(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

你有没有看过这篇文章在那里论坛http://www.kendoui.c​​om/forums/ui/grid/hide-columns-in-grid-kendo.aspx – Mark

+2

你可以参考ID列而不做它是一列。只要ID列在数据源模型中定义,就不需要在列设置中定义。 – Daniel

+1

@丹尼尔,你是对的,我不知何故错过了你的评论,直到我用相同的解决方案编辑我的文章之后。谢谢。 –

回答

5

隐藏的列同时由于2012年第二季度发布的支持。您现在可以使用Hidden()设置。

1

您可以通过Hidden()方法隐藏该列。这是你的奥克吗?

+1

.Hidden()不是Kendo Grid的选项。 –

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