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 :

Création d'un tableau dynamique


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Informatique Senior
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Informatique Senior

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut Création d'un tableau dynamique
    Bonjour,
    j'ai deux page "page1.aspx" et "page1.aspx.cs".

    Dans la page "page1.aspx.cs", j'ai chargé un DataSet de données que j'ai lues à partir de la base de données.

    Ce que je veux faire, c'est, afficher les entrées du DataSet dans la page "page1.aspx" dans un tableau que la taille variera dynamiquement selon la taille du DataSet qui a été préalablement chargé dans "page1.aspx.cs".

  2. #2
    Membre averti
    Inscrit en
    Février 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 20
    Par défaut
    Je te donne un exemple : on a une classe client qui contient les champs suivants num, nom, prenom.
    Et on a une dataset qui contient un table client :
    Maintenant on va afficher toutes les enregistrements de la table client sur la page1.aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <body>
    <form>
    <table>
    <tr><td>num</td><td>nom</td><td>prenom</td></tr>
    <%  foreash(client c in ds[‘nomdelatableclient’]{%>
    <tr><td><%=c.num%></td><td><%=c.nom%></td><td><%=c.prenom%></td></tr><% }%>
    </table>
    </form>
    </body>

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Pourquoi ne pas utiliser un GridView?

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Informatique Senior
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Informatique Senior

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut
    Comme je débute en C#,
    j'ai trouvé un exemple de code qui lit depuis la base et stocke dans un DataSet. J'ai donc suivi cet exemple.
    Est-ce qu'il est possible d'utiliser un gridView à cet effet?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Informatique Senior
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Informatique Senior

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut
    J'ai réussi à stocker les données lues depuis la base dans un DataSet.
    J'ai vérifié que j'ai les bonnes valeurs en débogguant mon code.

    Cependant, mon problème est que l'objet DataSet, que j'ai rempli dans page1.aspx, est invisible depuis "page1.aspx.cs".
    Lorsque je référence cet objet DataSet dans "page1.aspx.cs", j'ai une erreur de compilation.

    Voici mon code

    =================page1.aspx.cs========================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("SELECT * FROM Articles", oConnection);
     
    //Create a new dataset with a table: Articles
     
    DataSet myDataSet = new DataSet("Articles");
     
    //Fill the dataset and table with the data retrieved by the select command
     
    myDataAdapter.Fill(myDataSet, "Articles");
    ===================================================


    =================page1.aspx.cs========================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <% for (int i = 0; i < myDataSet.Tables["Articles"].Rows.Count; i++)
                   {
                       Label3.Text = myDataSet.Tables["Articles"].Rows[i]["referenceArticle"].ToString();
                       Label4.Text = myDataSet.Tables["Articles"].Rows[i]["categorie"].ToString();%>
                   <tr>
                        <td><asp:Label ID="Label3" runat="server" Text=""></asp:Label></td>
                        <td><asp:Label ID="Label4" runat="server" Text=""></asp:Label></td>
                   </tr>
     
                <%} %>
    ===================================================

    L'erreur est :
    L'objet myDataSet n'est pas reconnu dans la page "page1.aspx.cs".

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Par défaut
    Si tu utilises Visual Studio . lorsque tu ajoutes le controle GridView tu as la possibilité de définir une chaine de connexion et les la table a utilisé et il se charge de tous le reste, sinon personnelle je préfère utiliser un datareader car c'est plus performant que les dataset .(Les dataset sont vraiment plus utilie lorsque tu utilises du binding).

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Par défaut
    c'est normal que page1.aspx.cs soit invisible (le NOM_PAGE.aspx.cs ca s'appelle du code behind il gere les evenement liée a a la page , chargement ,click sur bouton,initialistaion etc), sinon tu peux simplement créer un label puis luis affecter un string contenont un tableau HTML avec tous tes donnée depuis du code behind bien sur . seulement je te conseil d'utiliser un GridView c'est plus facile et c'est plusn propre.

  8. #8
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par mteffaha Voir le message
    Si tu utilises Visual Studio . lorsque tu ajoutes le controle GridView tu as la possibilité de définir une chaine de connexion et les la table a utilisé et il se charge de tous le reste, sinon personnelle je préfère utiliser un datareader car c'est plus performant que les dataset .(Les dataset sont vraiment plus utilie lorsque tu utilises du binding).
    Mal, mal, mal...

    Si tu définis ta chaine de connexion, ta requête et tout le tralala dans ta page web, tu embarques pour un sacré cauchemar au moment de la maintenance...

    Utiliser un DataReader pour lire toutes les données que tu reçoit ne te fait rien gagner par rapport à l'utilisation d'un DataSet.

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  9. #9
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par ali.ensi Voir le message
    Comme je débute en C#,
    j'ai trouvé un exemple de code qui lit depuis la base et stocke dans un DataSet. J'ai donc suivi cet exemple.
    Est-ce qu'il est possible d'utiliser un gridView à cet effet?
    En fait, une fois que tu as ton Dataset, tu peux utiliser le contrôle que tu veux pour l'afficher sur ta page.

    Tu peux effectivement utiliser une gridview, un repeater, une table, un listview...

    Si le but est juste d'affricher tes informations sous la forme d'un tableau, le mieux est probablement un repeater (parce que mettre un foreach dans la page aspx, ca rappelle un peu trop l'asp facon 1996), qui sera le plus light de ces controles...

    Dans ce cas, tu feras qq chose comme :
    dans la page aspx
    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
     
    <asp:Repeater id="monRepeater" runat="server">
     
    <HeaderTemplate>
    <table border="1" width="100%">
    <tr>
    <th>Nom</th>
    <th>Prénom</th>
    <th>Age</th>
    </tr>
    </HeaderTemplate>
     
    <ItemTemplate>
    <tr>
    <td><%#Container.DataItem("nom")%></td>
    <td><%#Container.DataItem("prenom")%></td>
    <td><%#Container.DataItem("age")%></td>
    </tr>
    </ItemTemplate>
     
    <FooterTemplate>
    </table>
    </FooterTemplate>
     
    </asp:Repeater>
    et, dans ton code-behind, quelque chose genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected void Page_Load(object sender, EventArgs e){
     
      if (!Page.IsPostBack){
        monRepeater.DataSource=GetDataSetFromMyDatabase();
        monRepeater.DataBind();
      }
    }
    Je te laisse faire la méthode GetDataSetFromMyDatabase

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

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

Discussions similaires

  1. Création d'un tableau dynamique
    Par Stella74 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/11/2007, 14h12
  2. [FPDF] Création d'un tableau dynamique
    Par Little_flower dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 17/10/2007, 07h50
  3. Création d'un tableau dynamique
    Par Faro dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 07/04/2007, 09h03
  4. Création d'un tableau dynamique avec XSL-FO
    Par lionelbrizuela dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/01/2006, 11h04

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