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 :

Comment faire pour : Lier une List<Objet> à un contrôle ListView puis afficher les données ?


Sujet :

ASP.NET

  1. #1
    Membre habitué Avatar de Johann7751
    Profil pro
    Analyste Programmeur Junior
    Inscrit en
    Février 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur Junior

    Informations forums :
    Inscription : Février 2009
    Messages : 234
    Points : 142
    Points
    142
    Par défaut Comment faire pour : Lier une List<Objet> à un contrôle ListView puis afficher les données ?
    Bonjour,


    J'ai besoin d'afficher des données sur ma page web.



    Pour cela, j'ai choisi d'utiliser le contrôle asp.net ListView.
    Donc je récupère mes données sous forme d'une List<Objet> que j'appelle maListe.

    Mon Objet possède 3 propriétés :
    - int id_Objet
    - string libelle_Objet
    - string infosuppl_objet;

    Comment faire (sans passer par une interface graphique), donc en code, pour :
    --> Lier ma List<Objet> maListe à mon ListView et afficher les 3 propriétés de mon objet dans la ListView ?



    Voici des extraits de mon code actuel :

    --> Dans ma page maPage.aspx,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ListView ID="maListeView" runat="server"></asp:ListView>
    --> Dans ma page de code behind maPage.aspx.cs,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    maListeView.DataSource = maListe;
    maListeView.DataBind();

    Ça ne fonctionne pas, apparemment trop simple j'oublie de faire quelque chose..

    Pouvez vous m'aider ?
    Merci.


    [EDIT]

    J'ai cherché de mon côté, la ListView est un contrôle basé sur les modèles.
    Je dois spécifier entièrement le code HTML que je souhaite afficher sous forme de modèles. ItemTemplate est l'endroit où je dois placer le contenu HTML qui sera répété pour chaque ligne du jeu de données liées..

    J'ai pas compris le fonctionnement de # Eval.
    Dans mon cas que dois-je mettre à la place des ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ItemTemplate>
        <tr>
          <td><%# Eval("???") %></td>
          <td><%# Eval("???") %></td>
          <td><%# Eval("???") %></td>
        </tr>
      </ItemTemplate>



    [EDIT]

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 207
    Points : 191
    Points
    191
    Par défaut
    Il est toujours possible de passer par une classe au lieu d'un objet.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    class MaClasse
    {
     
         private int id_Objet;
         private string libelle_Objet;
         private string infosuppl_Objet;
     
         public MaClasse(int id, string libelle, string infosuppl)
         {
          id_Objet = id;
          libelle_Objet = libelle;
          infosuppl_Objet = infosuppl;
         }
     
         public int Id_Objet
         {
             get
             {
              return id_Objet;
             }
         }
     
         public string Libelle_Objet
         {
             get
             {
              return libelle_Objet;
             }
         }
     
         public string Infosuppl_Objet
         {
             get
             {
              return infosuppl_Objet;
             }
         }
    }

    Par la suite il suffit de faire une List<MaClasse> et le tour est joué.

Discussions similaires

  1. Comment faire pour lier une DLL avec mon application ?
    Par therev123 dans le forum wxWidgets
    Réponses: 1
    Dernier message: 25/07/2012, 21h50
  2. Réponses: 3
    Dernier message: 11/06/2012, 17h47
  3. Comment faire pour créer une instance par item de liste ?
    Par pulsart06 dans le forum Général Python
    Réponses: 5
    Dernier message: 03/05/2012, 21h45
  4. Comment faire pour récup une donnée d'une liste déroulante
    Par magic8392 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/03/2005, 15h00
  5. comment faire pour qu'une application soit toujours visible ?
    Par goldbar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2004, 14h35

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