ASP.Net - ListVIew - HidingAColumn

ASP.Net - ListView - Hiding a Column

Occasionally, I’ll have a column on the listview that I want hidden.

Here is an example where I am hiding a column if the mode attribute of a viewstate is ‘unpaid’.

2 events are involved:

  • PreRender - to hide columns in the header
  • Item Databound - to hide columns from rows being displayed.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    Protected Sub lv_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles lv.PreRender

'
' do not show the payment date if the mode is 'UnPaid'
' since they are blank anyway
'

Select Case ViewState("Mode").ToString.ToLower
Case "unpaid"
Dim PaymentDateSortButton As LinkButton _
= CType(lv.FindControl("Payment_DT"), LinkButton)
PaymentDateSortButton.visible = False
Dim TextBox_PaymentDT As TextBox _
= CType(lv.FindControl("TextBox_PaymentDT"), TextBox)
TextBox_PaymentDT.Visible = False
End Select
End Sub

Protected Sub lv_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles lv.ItemDataBound
If e.Item.ItemType = ListViewItemType.DataItem Then
Dim lvdi As ListViewDataItem = e.Item
Select Case ViewState("Mode").ToString.ToLower
Case "unpaid"
Dim Label_PaymentDT As Label _
= CType(e.Item.FindControl("Label_PaymentDT"), Label)
Label_PaymentDT.visible = False
End Select
End If
End Sub