我试图在gridview中显示/隐藏列以便更好地查看。 我需要做的是:
我使用RowCreated事件(下面的代码)成功地将它们隐藏在页面加载中。但截至目前,我还没有找到通过按钮点击再次显示它们的方法。
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
Dim row As GridViewRow = e.Row
' Intitialize TableCell list
Dim columns As New List(Of TableCell)()
For Each column As DataControlField In GridView1.Columns
'Get the first Cell /Column
Dim cell As TableCell = row.Cells(0)
' Then Remove it after
row.Cells.Remove(cell)
'And Add it to the List Collections
columns.Add(cell)
Next
' Add cells
row.Cells.AddRange(columns.ToArray())
e.Row.Cells(8).Visible = False
e.Row.Cells(9).Visible = False
e.Row.Cells(10).Visible = False
e.Row.Cells(11).Visible = False
End Sub
我尝试了以下方法并带来了不幸的结果:
将宽度设置为0px然后在点击时重置为自动 - 因为我的大多数列都是包含按钮或复选框的项目字段,所以这根本不起作用
使用GridView1.Columns(8).Visible = False - 与上述原因相同
请指教。提前谢谢。
答案 0 :(得分:0)
DataGridView1.Columns(n).Visible = False
'在vb.net工作
其中n表示列索引