Arsip Blog

Hidden Column di Gridview

Aku pernah membuat aplikasi ASP.net. Di aplikasi tersebut aku menambahkan tool gridview untuk menampilkan data. Gridview aku buat dengan 4 kolom dan kolom ke-4 sengaja aku sembunyikan (hidden).

Masalah muncul ketika aku membuat prosedur Gridview_RowDataBound. Di prosedur ini aku ingin mengambil nilai dari dari kolom ke-4 dengan cara berikut ini

Dim simbol as String = e.Row.Cell(3).Text

Tapi aku tidak mendapatkan nilai yang aku inginkan. Jadi bagaimana mendapatkan nilai dari kolom yang disembunyikan tersebut?

Sebenarnya ada berbagai macam trik yang bisa dipakai. Salah satu trik ini aku dapatkan dari Wely. Cukup dengan kode berikut:

Dim simbol as String = DirectCast(DirectCast(DirectCast(DirectCast(e.Row, _
System.Web.UI.WebControls.GridViewRow).DataItem, _
System.Object), System.Data.DataRowView).Row, _
System.Data.DataRow).ItemArray(3)

Angka 3 dalam ItemArray(3) menunjukkan indek kolom sesuai urutan kolom dari query ke database, BUKAN urutan kolom di gridview. Jadi sebenarnya nilai diambil bukan dari gridview, tapi dari dataset.

Happy coding. Thanks buat Wely.