隐藏网格视图中隐藏列的垂直线

时间:2014-03-22 13:39:23

标签: asp.net css .net vb.net gridview

Visual Studio:2010 框架:4.0 代码背后:VB.Net

我正在asp.net中构建网站。我使用网格视图来显示数据。我只想在可见列上使用垂直线。为此,我使用了gridview的gridline属性。但它适用于gridview中的所有列。在网格视图中,有一些不可见(隐藏)列。所以我不想申请隐藏的那些列。我试图减少列宽但不起作用。 那么如何隐藏隐藏列的网格线。附加屏幕截图我的网格视图。

减少代码下面使用的列的宽度:

gridview1.Columns (8).ItemStyle.Width = 0

我使用下面的属性在网格视图上设置垂直线。

gridview1.GridLines="Vertical"

以下是我的网格视图的屏幕截图:

Hide Vertical GridView lines for hidden columns

2 个答案:

答案 0 :(得分:1)

您应该在ColumnCollection事件中实际切换DataBound的可见性。

Protected Sub gridview1_DataBound(sender As Object, e As System.EventArgs) Handles gridview1.DataBound
    gridview1.Columns(7).Visible = False
    gridview1.Columns(8).Visible = False
    gridview1.Columns(9).Visible = False
End Sub

答案 1 :(得分:0)

您可以在rowdatabound事件中隐藏列。假设要隐藏的列具有索引7,8,9

protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[7].Visible = false;  
    e.Row.Cells[8].Visible = false; 
    e.Row.Cells[9].Visible = false; 
}

在aspx中将rowdatabound事件附加到上面的函数,方法是将onrowdatabound属性赋值给gridview

<asp:Gridview id="gridview1" runat="server" onrowdatabound="gridview1_RowDataBound">
.
.
.
</asp:GridView>