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#] Relier Datasource à un repeater


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Par défaut [C#] Relier Datasource à un repeater
    Hello,

    Ma page .aspx contient un repeater

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		<asp:repeater id="_RepeatCompteur" runat="server">
    		<ItemTemplate>
    			<asp:Label id="_LabelCompteur" runat="server" />
    			<asp:TextBox id="_Compteur" runat=server />
                            <br />
    		</ItemTemplate>
    		</asp:Repeater>
    Les données qui doivent être affichée sont récupérée via une requete SQL

    Comment faire pour les afficher ?

    J'ai trouvé ceci sur le net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this._RepeatCompteur.DataSource = ????;	
    this._RepeatCompteur.DataBind();
    Je ne sais pas quoi mettre dans mon datasource.
    quelle type de variable ? (tableau??) Quelle syntaxe utiliser ? Comment faire pour lui dire ce qui correspond au _LabelCompteur et ce qui correspond au _Compteur ???

  2. #2
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut

    voila comment je procede :

    j'ai une fonction qui récupère une liste d'objet dans la BD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public List<MyObject> listesdemesObjets()
    {
    .......
    }
    dans ma page aspx.cs, j'appelle ma fonction qui récupère ma liste d'objet et je la passe dans le repeater :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List<Myobject> list = listesdemesObjets();
    this._RepeatCompteur.DataSource = list;	
    this._RepeatCompteur.DataBind();

  3. #3
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Oublié de préciser, pour spécifié les champs dans ton repeater j'utilises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '<%# DataBinder.Eval(Container.DataItem, "Id") %>'
    Id etant un attribut de mon Object.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Par défaut
    il n'existe aucun moyen de faire ça sans passer par le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Text='<%# DataBinder.Eval(Container.DataItem, "LibCompteur") %>'
    ??

    ce qui me gène dans cette façon de faire c'est d'avoir du code C# dans ma page .aspx
    j'aime garder les choses bien séparéer et avoir mon C# dans ma page .cs et mon code html dans ma page .aspx

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Par défaut
    Je note le post comme résolu.

    Pour explication, j'ai créé une DataTable dans laquelle je palce les valeur provenant de ma requete, et je déclare cette table comme datamembre de mon repeater

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this._RepeatCompteur.DataMember = "TableCompteur";

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Par défaut repeater et itemdatabound
    Tu peux certainement passer outre l'ajout de <% %> dans ton code aspx si tu utilises l'évènement ItemDataBound, c'est ce que j'essaye actuellement de faire.

    Le problème c'est que je n'arrive pas à récupérer les contrôles qui étaient dans le ItemTemplate de mon Repeater de manière à pouvoir ensuite passer les paramètres du style

    monControle.Text = DataBinder.Eval(e.Item.DataItem, "id");

    (e étant le paramètre de l'évènement ItemDataBound)

    Donc si quelqu'un arrive à m'expliquer pourquoi le e.Item.FindControl("monControle"); renvoie Null je suis preneur!

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

Discussions similaires

  1. Repeater Imbriqués avec DataSource différents
    Par paintbox dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 23/04/2014, 18h04
  2. repeater d'images quelle DataSource ?
    Par loulouklm dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/10/2009, 09h34
  3. Repeater avec une datasource List<Object>
    Par Arthis dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/09/2008, 14h39
  4. Relier des boutons à un DataSource
    Par zoheir13 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 20/05/2008, 19h41
  5. Repeater de plusieurs datasources
    Par yazen dans le forum ASP.NET
    Réponses: 10
    Dernier message: 12/02/2008, 13h51

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