id060261
Messages postés5Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention27 juillet 2008
-
26 juil. 2008 à 17:15
id060261
Messages postés5Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention27 juillet 2008
-
27 juil. 2008 à 11:34
Bonjour,
J'ai une collone dans ma GridView qui affiche 1 ou 0 si un produit est de stock ou pas.
Dans ma base de donéne SQL Server, j'ai donc un champs "stock" avec la valeur 1 si le produit est de stock, et 0 s'il ne l'est pas.
Pour que ce soit plus présentable, je voudrais que dans ma GridView ASP.net s'affiche une petite image picto verte si ma valeur En Stock est égale à 1 (à la place de juste afficher un petit "1"), et ne rien afficher si la valeur est égale à 0.
Ma question est donc : Comment remplacer une valeur d'une de mes colones de mon GridView et pouvoir afficher une image à la place si cette valeur est égale à "1" ?
D'avance merci :-)
Marc
A voir également:
GridView remplacement d'un champ en fonction de la valeur
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 26 juil. 2008 à 22:32
Bonsoir,
En créant un templatefield et en mettant une image dans l'itemtemplate, tu peux faire comme cela, sur l'événement rowcreated du gridview :
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim im As Image = CType(e.Row.FindControl("Image1"), Image)
Dim p As Integer = DataBinder.Eval(e.Row.DataItem, "TonChampdeTable")
If p = 0 Then
im.ImageUrl = "../tonImage1.png"
Else
im.ImageUrl = "../tonImage2.png"
End If
End If
End Sub
ggtry
Messages postés417Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention21 juillet 20101 27 juil. 2008 à 10:13
Bonjour,
Ton champ email est une chaîne de caractères, pas un Integer. D'autre part, not ... is nothing n'est pas approprié.
N'oublie pas non plus de changer "im" en ton "imMail"
Tu peux faire plutôt (en supposant donc que s'il n'y a pas d'e-mail, le champ est Null) :
If IsDBNull(DataBinder.Eval(e.Row.DataItem, "email")) = False Then
imMail.ImageUrl = "../mail.png"
Else
imMail.Visible = False
End If
id060261
Messages postés5Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention27 juillet 2008 27 juil. 2008 à 01:53
Bonsoir
Merci ! Ca fonctionne à merveille
Juste une autre petite question en rapport : J'ai aussi un champ e-mail qui contient des adresse e-mails dans ma table. Je voudrais que si le champ e-mail est rempli, il affiche une image, mais que si celui-ci est vide, il n'affiche rien.
J'ai fais
If e.Row.RowType = DataControlRowType.DataRow Then
Dim imMail As Image = CType(e.Row.FindControl("ImageMail"), Image)
Dim pMail As Integer = DataBinder.Eval(e.Row.DataItem, "email")
If Not pMail Is Nothing Then
im.ImageUrl = "../mail.png"
End If
End If