IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#][ASP.NET 1.1] Datalist et affichage conditionnel


Sujet :

ASP.NET

  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut [C#][ASP.NET 1.1] Datalist et affichage conditionnel
    Je ne suis pas un adepte du datalist mais dans mon cas, je pense qu'il est une solution fiable. pour résumer, je dois afficher une galleri de photo et j'aimerai que ca affiche la photo qui ouvre un popup et en dessous de celle-ci, différentes icones d'action sur l'image en fonction de parametres dépendant de la photo (là c'est moins clair )

    en gros, je recupere une datatable qui me renvoie
    ID_IMAGE IS_VALID
    1 0
    2 1
    3 0

    * les champs ne sont pas exactement ceux-ci mais l'idée y est car c'est la colonne is_valid qui m'interesse

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:DataList id="DatalistPhotograph" runat="server" RepeatColumns="3" Width="100%" BorderColor="black" BorderWidth="1" GridLines="Both" CellPadding="4" CellSpacing="0">
    			<ItemTemplate>
    				<span onmouseover="return escape('<table style=\'color:#000000; \'><tr ><td><b>By:</b></td><td align=\'center\'><%# DataBinder.Eval(Container.DataItem,"name") %> <%# DataBinder.Eval(Container.DataItem,"firstname") %></td></tr><tr><td><b>Date:</b></td><td><%# DataBinder.Eval(Container.DataItem,"date") %></td></tr><tr><td><b>Hour:</b></td><td><%# DataBinder.Eval(Container.DataItem,"hour") %></td></tr><tr><td><b>Location: </b></td><td><%# DataBinder.Eval(Container.DataItem,"location") %></td></tr></table>')">
    					<a href="javascript:popup_img('<%# DataBinder.Eval(Container.DataItem,"image_id") %>','800','600')">
    					<img style="BORDER-TOP-WIDTH: 0px;BORDER-LEFT-WIDTH: 0px;BORDER-BOTTOM-WIDTH: 0px;BORDER-RIGHT-WIDTH: 0px" src='thumbnail.aspx?filename=<%# DataBinder.Eval(Container.DataItem,"image_id") %>' alt="" width="192" height="120"></a>
    					<br />
     
    					Validated : <%# DataBinder.Eval(Container.DataItem,"mode") %></span>
    				</ItemTemplate>
    			</asp:DataList>

    j'aimerai afficher une image si <%# DataBinder.Eval(Container.DataItem,"mode") %> me retourne "1" et je n'ai aucune idée de comment le faire

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 129
    Points : 103
    Points
    103
    Par défaut
    J'ai déjà fait quelque chose semblable mais avec un gridview ou je voulais ajouter un icône selon certains critère. Ce que j'avais fais c'est lors de l'événement Created (pour le datalist je crois que c'est ItemCreated) je lis ma valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    code = DataBinder.Eval(e.Row.DataItem, "Code").ToString
    Ensuite je recherche mon composant pour mon icone avec un findcontrol. Finalement selon la valeur que j'avais dans mon Databinder j'affiche ou non mon composant en changeant la propriété visible. Si ca ne fonctionne pas dans le Created avec le datalist essais dans le Databound mais selon moi ça devrait fonctionner.

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    merci steedilol, je pense que c'est effectivement la solution.

    mais ca ne marche pas ^^
    1- j'ajoute l'event ItemDataBound à mon datalist

    2- dans celui-ci j'ai ce code là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void DataListCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
            {
                string code = DataBinder.Eval(e.Item.DataItem, "mode").ToString();
                //Response.Write(code);
                if (code =="true")
                Image2.Visible= false;
            }
    et là j'ai un superbe NullException sur mon composant Image2 qu'il ne connait pas

    pourtant l'image est bien dans la page (dans le template de l'element), c'est en runat=server et est bien déclarée dans mon codebehind. ca compile mais à l'execution ca petouille.

    je bind mon datalist dans la methode Page_Load, les composants n'existeraient-ils pas à ce moment? ca m'etonne car je peux agir sur d'autre.
    mais tout composant appelé dans databound, est vu comme nul

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 129
    Points : 103
    Points
    103
    Par défaut
    Si l'image est dans le datalist alors il faut aller la chercher comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MonImage = CType(e.Item.FindControl("Image"), Image)
    MonImage.visible = false

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    je dois te faire un bisou où?

    merci bcp. ca semble bien marché. faut que je paufine mais ca marche avec un exemple simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.NEt]Problème d'affichage avec un DataGrid
    Par Irish dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/03/2007, 10h55
  2. stoker l'affichage d'une page ASP.net
    Par guitoo dans le forum ASP.NET
    Réponses: 8
    Dernier message: 27/02/2007, 13h17
  3. erreurs avec asp.net affichage web
    Par dorian2031 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/02/2007, 12h09
  4. [CR][ASP.NET] Problème d'affichage du rapport
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 20/04/2004, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo