quel objet dois-je utiliser pour acceder à un champ dans un gridview?

Le
Dave
Bonjour,

Je désire changer la couleur d'un champ particulier (type texte) dans mon
gridview en fonction de sa valeur.
Ce champ est le 6ème dans le gridview.

Je ne sais pas comment définir l'objet: j'ai essayé avec 'textbox', 'label'
mais j'ai chaque fois l'erreur:
"Specified argument was out of the range of valid values. Parameter name:
index"

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GridView1.RowDataBound
Dim a As ???
a = e.Row.Cells(5).Controls(0)
if a.text = "ok" then
e.Row.Cells(6).BackColor = Drawing.Color.Green
End If
End Sub

Merci
Dave
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Soul
Le #12230351
Bonjour

Pour connaitre le type de ton objet fait obj.GetType() une fois que tu
l'as récupéré.

Tu peux faire une trace obj.GetType().FullName cela te permettra de
savoir le cast spécifique à réaliser.

Dim ctrA As Control
ctrA = e.Row.Cells(5).Controls(0)
Console.WriteLine(ctrA .GetType().FullName);
...

Tu peux aussi avoir l'information directement en debug sans faire de
trace via l'espion ou via la fenetre de commande immédiate.

?ctrA .GetType().FullName

Soul.

Dave a écrit :

Bonjour,

Je désire changer la couleur d'un champ particulier (type texte) dans m on
gridview en fonction de sa valeur.
Ce champ est le 6ème dans le gridview.

Je ne sais pas comment définir l'objet: j'ai essayé avec 'textbox', ' label'
mais j'ai chaque fois l'erreur:
"Specified argument was out of the range of valid values. Parameter name:
index"

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GridView1.RowDataBound
Dim a As ???
a = e.Row.Cells(5).Controls(0)
if a.text = "ok" then
e.Row.Cells(6).BackColor = Drawing.Color.Green
End If
End Sub

Merci
Dave


Soul
Le #12230341
Bonjour

Pour connaitre le type de ton objet fait obj.GetType() une fois que tu
l'as récupéré.

Tu peux faire une trace obj.GetType().FullName cela te permettra de
savoir le cast spécifique à réaliser.

Dim ctrA As Control
ctrA = e.Row.Cells(5).Controls(0)
Console.WriteLine(ctrA .GetType().FullName);
...

Tu peux aussi avoir l'information directement en debug sans faire de
trace via l'espion ou via la fenetre de commande immédiate.

?ctrA .GetType().FullName

Soul.

Dave a écrit :

Bonjour,

Je désire changer la couleur d'un champ particulier (type texte) dans m on
gridview en fonction de sa valeur.
Ce champ est le 6ème dans le gridview.

Je ne sais pas comment définir l'objet: j'ai essayé avec 'textbox', ' label'
mais j'ai chaque fois l'erreur:
"Specified argument was out of the range of valid values. Parameter name:
index"

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GridView1.RowDataBound
Dim a As ???
a = e.Row.Cells(5).Controls(0)
if a.text = "ok" then
e.Row.Cells(6).BackColor = Drawing.Color.Green
End If
End Sub

Merci
Dave


Dave
Le #12230311
Merci

"Soul" news:
Bonjour

Pour connaitre le type de ton objet fait obj.GetType() une fois que tu
l'as récupéré.

Tu peux faire une trace obj.GetType().FullName cela te permettra de
savoir le cast spécifique à réaliser.

Dim ctrA As Control
ctrA = e.Row.Cells(5).Controls(0)
Console.WriteLine(ctrA .GetType().FullName);
...

Tu peux aussi avoir l'information directement en debug sans faire de
trace via l'espion ou via la fenetre de commande immédiate.

?ctrA .GetType().FullName

Soul.

Dave a écrit :

Bonjour,

Je désire changer la couleur d'un champ particulier (type texte) dans mon
gridview en fonction de sa valeur.
Ce champ est le 6ème dans le gridview.

Je ne sais pas comment définir l'objet: j'ai essayé avec 'textbox',
'label'
mais j'ai chaque fois l'erreur:
"Specified argument was out of the range of valid values. Parameter name:
index"

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GridView1.RowDataBound
Dim a As ???
a = e.Row.Cells(5).Controls(0)
if a.text = "ok" then
e.Row.Cells(6).BackColor = Drawing.Color.Green
End If
End Sub

Merci
Dave


Publicité
Poster une réponse
Anonyme