Afficher Image sur un datagrid suivant champ de données ?

coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010 - 9 mai 2005 à 19:35
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 10 mai 2005 à 14:29
<HR>
Voici mon problème : (je travaille avec VS)


Je veux afficher dans un « datagrid » une colonne avec des images. Mais ces images s’affichent en fonction d’un champ de données « image ». Si ce champ est à « 0 » je n’affiche pas d’image et si ce champ est égale à « 1 » j’affiche l’image se trouvant dans un dossier image. L’image a pour nom un autre champ « RefConc ».jpg


Dois-je agir depuis mon code VB ou directement sur le « datagrid » et comment s’il vous plait ?


<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />


Voici mon code en VB du datagrid





Sub AffDatagridVeh(ByVal param As String)


afficheVeh = 1


Dim da As SqlDataAdapter


Dim ds As DataSet


Dim requete As String


Select Case ViewState("IdCategVeh")


Case Is = 1


requete = "SELECT VoitMar.Marque AS Marque, VoitMod.Mod AS Modele, VoitAnno.TypePrec, Carburant.CarbF AS Energie, VoitCat.CatF AS Type, RefAnno.Image AS Image, RefAnno.PrixE AS Prix, RefAnno.PrixInternetE AS PrixE, VoitAnno.Annee AS Année, VoitAnno.Km, VoitAnno.CV, RefAnno.TTC, RefAnno.Image, RefAnno.ImageN, RefAnno.RefAnno"


requete &= " FROM VoitAnno INNER JOIN"


requete &" RefAnno ON VoitAnno.[N°RefAnno] RefAnno.[N°RefAnno] INNER JOIN"


requete &" VoitConc ON RefAnno.[N°VoitConc] VoitConc.[N°VoitConc] INNER JOIN"


requete &" Carburant ON VoitAnno.[N°Carburant] Carburant.[N°Carburant] INNER JOIN"


requete &" VoitMar ON VoitAnno.[N°VoitMar] VoitMar.[N°VoitMar] INNER JOIN"


requete &" VoitMod ON VoitAnno.[N°VoitMod] VoitMod.[N°VoitMod] INNER JOIN"


requete &" VoitCat ON VoitAnno.[N°VoitCat] VoitCat.[N°VoitCat]"


requete &" WHERE (VoitConc.RefConc '" & Application("RefConc") & "') AND (RefAnno.Publique = 1)"


If ViewState("IdMarqVeh") <> "" Then requete &" AND (VoitAnno.[N°VoitMar] " & ViewState("IdMarqVeh") & ")"


If ViewState("IdModVeh") <> "" Then requete &" AND (VoitAnno.[N°VoitMod] " & ViewState("IdModVeh") & ")"


If ViewState("IdCarbuVeh") <> "" Then requete &" AND (Carburant.[N°Carburant] " & ViewState("IdCarbuVeh") & ")"


If ViewState("IdBudVeh") <> "" Then requete &= " AND (RefAnno.PrixE <= " & ViewState("IdBudVeh") & ") OR (RefAnno.PrixInternetE <= " & ViewState("IdBudVeh") & ")"


Case Is = 2


Case Is = 3


Case Else


afficheVeh = 0


End Select


If afficheVeh <> 0 Then


ds = LibData.AccesBD.GetDataSet(requete)


datagridVeh1.DataSource = ds.Tables(0).DefaultView


datagridVeh1.DataBind()


ds.Clear()


End If


End Sub




TR

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mai 2005 à 19:53
tout depend de ton code aspx

mais c'est souvent plus simple la bas, et c'est apparement plus rapide aussi.

donc pour faire ca, c'est assez simple

" alt="text" />


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
10 mai 2005 à 00:40
<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

<SELECTEDITEMSTYLE BackColor= "Gold" Font-Names="Arial" Font-Size="Smaller"></SELECTEDITEMSTYLE> <HEADERSTYLE BackColor ="Silver" Font-Names= "Arial" Font-Size="Smaller" ForeColor="Black" VerticalAlign="Middle" HorizontalAlign="Center"></HEADERSTYLE><COLUMNS> <HEADERSTYLE BackColor ="#FFCC66"></HEADERSTYLE></COLUMNS>

Merci pour ta réponse rapide. Voici mon code aspx concernant le datagrid. Je pense que le code en rouge pour afficher une image dans une colonne de mon datagrid n'est pas approprié. peux-tu me dire la syntaxe exacte SVP ? Merci d'avance pour tout.

<SelectedItemStyle Font-Size= "Smaller" Font-Names="Arial" BackColor="Gold"></SelectedItemStyle>


<HeaderStyle Font-Size ="Smaller" Font-Names= "Arial" HorizontalAlign="Center" ForeColor="Black" VerticalAlign="Middle" BackColor="Silver"></HeaderStyle>
<Columns>












<HeaderStyle BackColor ="#FFCC66"></HeaderStyle>


</Columns>

TR
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mai 2005 à 00:55
J'ai jamais bien aimé le datagrid, donc je connais pas sa syntaxe par coeur, et pusi ca fait 6 mois que je bosse sur .net2 et le datagrid n'est plus utile pour du web.

de mémoire et beaucoup au pif :p

Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
10 mai 2005 à 10:49
Merci Cyril,

Moi je commence avec .NET avant je faisait de l'ASP. Va voir ce site il faut que je le transforme en .net (www.locomotionmarket.com) et j'en ai d'autres... (bonjour la tache)

Mais dis moi tu soulèves un problème important le .net2 n'a plus besoin de datagrid alors c'est quoi le remplacant? Il faut que je télécharge .net2 ?
A+
Thierry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mai 2005 à 11:17
tout ce qui passe sur .net1.1 passera en .net 2, le datagrid existe, mais n'est plus proposé par défaut dans la boite à outil, il y a un nouveau remplacant, le gridview, qui est moins complet mais souvent largement suffisant

pour ce qui est de .net 2 pour l'instant on en est a la beta2, le framework en lui meme semble etre OK, mais il reste quelques bugs dans Visual Studio 2005, la version finale, sera pour fin de l'année.


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
10 mai 2005 à 14:24
Hello Cyril,
Il y a un problème avec le container ? L'erreur le container n'est pas déclarer s'affiche?
En fait je souhaite aficher une image avec un lien qui ouvre une nouvelle fenêtre.
A+

<% if Container.Dataitem("Image") = 0 then %>
" alt="photo"/>
<%End if%>

<% if Container.Dataitem("Image") = 1 then %>
Voci l'erreur
Message d'erreur du compilateur: BC30451: Le nom 'Container' n'est pas déclaré.

Erreur source:


Ligne 53 : 
Ligne 54 : 
Ligne 55 : <% if Container.Dataitem("Image")  = 0 then %>
Ligne 56 : " alt="photo"/>
Ligne 57 : <%End if%>



Thierry
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mai 2005 à 14:29
arf, je viens de relire mon message, je voulais dire si ca fonctionne pas, il faut utiliser

<%#IIF(test, valtrue, valfalse)%> ;)

car c'est le # qui fait le container.dataitem

j'ai pas le temps d'en dire plus, mais j'espere que ca va t'aider


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
Rejoignez-nous