mercredi 28 janvier 2009

Rendre une colonne d'un gridview invisible.

Lors d'un chargement d'un datatable ou d'un dataset dans un objet de type gridview, il souvent utile de cacher certaines colonnes qui n'ont aucunes utilitées pour les utilisateurs du portail, mais qui vont vous aider à mieux gérer les informations au cours d'un traiement quelconque.

Donc, après avoir rempli votre grille:
...
monGridView.DataSource = monDataTable
monGridView.DataBind()
...


Il faut que vous déclenchiez un évènement de type:
Protected Sub monGridView_RowCreated(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(0).Visible = False
ElseIf e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells(0).Visible = False
End If
End Sub


Maintenant la 1ère colonne sera invisible pour l'utilisateur, mais utilisable pour tous les traitements dont vous pourriez avoir besoin. Pour cela, il suffira simplement d'aller chercher la valeur comme ci-dessous:
...
Dim maValeur as integer = 0
...
for each row as gridViewRow in monGridView.Rows
...
maValeur = Interger.Parse(row.Cells(0).Text)
...
next
...

Compilez votre code et admirez le résultat.

Aucun commentaire:

Enregistrer un commentaire