2012-01-06 81 views
1

我有一个特定列的GridView Date。我已将列的Visible属性设置为false,因为我想显示不同的页面条件。请告诉我,我该怎么用vb.net我Date栏应该显示或隐藏在运行时,它做Gridview显示和隐藏特定的列

更新

我当前的代码是

If Not Page.User.Identity.Name = "bilal" Then 
      GridView1.AutoGenerateEditButton = False 

      GridView2.AutoGenerateEditButton = False 
      GridView3.AutoGenerateEditButton = False 
     Else 
      GridView1.AutoGenerateEditButton = True 
      GridView1.AutoGenerateColumns = True 

      GridView1.DataBind() 
      If GridView1.Columns.Count > 0 Then 
       'assuming your date-column is the first ' 
       GridView1.Columns(3).Visible = True 
      Else 
       GridView1.HeaderRow.Cells(0).Visible = False 
       For Each gvr As GridViewRow In GridView1.Rows 
        gvr.Cells(0).Visible = True 
       Next 
      End If 



      GridView2.AutoGenerateEditButton = True 
      GridView3.AutoGenerateEditButton = True 

     End If 

回答

6

如果您已设置AutoGenerateColumnsTrue,列计数将为0,那么您需要循环行并显示/隐藏适当的单元格。否则,您可以使用Visible属性。

GridView1.DataBind() 
If GridView1.Columns.Count > 0 Then 
    'assuming your date-column is the 4.' 
    GridView1.Columns(3).Visible = True 
Else 
    GridView1.HeaderRow.Cells(3).Visible = False 
    For Each gvr As GridViewRow In GridView1.Rows 
     gvr.Cells(3).Visible = True 
    Next 
End If 
+0

是它的工作原理与autogenertae列,但它显示在GridView中的所有coulmns,我想只显示一列显示或隐藏。我已经更新了我当前的代码,以我的问题,请给我进一步建议 – 2012-01-06 09:48:54

+0

编辑我的回答提供正确的列索引(3)。你只是将它部分改为3。 – 2012-01-06 10:01:21

+0

那么现在我该怎么做一个特定的颜色 – 2012-01-06 10:23:17