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 :

[.NET 2.0] DataList => Comment créer un tableau ?


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut [.NET 2.0] DataList => Comment créer un tableau ?
    Salut

    Je suis en train d'essayer de construire un tableau avec ASP.Net 2.0 et l'élément DataList. Je me suis fortement inspiré de cette page pour cela

    J'ai donc créé une page ASPX avec le code suivant
    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
     
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Stats.aspx.cs" Inherits="Stats_ASPX_Stats" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Page sans titre</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DataList ID="tbl_test" runat="server" ShowFooter="true" ShowHeader="true">
            <HeaderTemplate>
                <table>
                    <thead>
                        <tr>
                            <th>Titre 1</th>
                            <th>Titre 2</th>
                        </tr>
                    </thead>
                    <tbody>
            </HeaderTemplate>
            <ItemTemplate>
                    <tr>
                        <td><%# DataBinder.Eval(Container.DataItem, "COLONE1") %></td>
                        <td><%# DataBinder.Eval(Container.DataItem, "COLONE2") %></td>
                    </tr>
            </ItemTemplate>
     
            <FooterTemplate>
                    </tbody>
                </table>
            </FooterTemplate>
     
            </asp:DataList>
        </div>
        </form>
    </body>
    </html>
    et voici ma feuille de code

    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
     
    private SqlCommand SQL_Commande = new SqlCommand();
    private SqlDataAdapter SQL_Resultat = new SqlDataAdapter();
    private DataSet SQL_Rapatrie = new DataSet();
     
    private void executeSQLTable(string SQL)
    {
        SQL_Commande.CommandText = SQL;
        SQL_Resultat = new SqlDataAdapter(SQL_Commande);
     
        SQL_Resultat.Fill(SQL_Rapatrie, "TBL_SESSION");
     
        tbl_test.DataSource = SQL_Rapatrie.Tables["TBL_SESSION"].DefaultView;
            tbl_test.DataBind();
    }
     
    private void load()
    {
        string SQL = "SELECT *\n" +
                     "FROM " + con.PMBase + ".dbo.TBL_SESSION";
     
        executeSQLTable(SQL);
    }
    Seulement j'obtient un code HTML qui est certes affiché comme je veux, mais le code généré n'est pas beau du tout.

    Voilà le code généré (juste la partie concernant le DataList)
    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
    41
    42
    43
    44
    45
    46
    table id="tbl_test" cellspacing="0" border="0" style="border-collapse:collapse;">
    	<tr>
    		<td>
                <!-- Mon header -->
                <table>
                    <thead>
                        <tr>
                            <th>IPN</th>
     
                            <th>Pages consult&eacute;es</th>
                        </tr>
                    </thead>
                    <tbody>
                <!-- Fin de mon header -->
            </td>
    	</tr><tr>
    		<td>
     
                <!-- Une ligne -->
                    <tr>
                        <td>jdayot</td>
                        <td>001000000000010     </td>
                    </tr>
                <!-- Fin de la ligne -->
            </td>
    	</tr><tr>
     
    		<td>
                <!-- Une ligne -->
                    <tr>
                        <td>jdayot</td>
                        <td>000000000000000     </td>
                    </tr>
                <!-- Fin de la ligne -->
            </td>
     
    	</tr><tr>
    		<td>
                <!-- Mon footer -->
     
                    </tbody>
                </table>
                <!-- Fin de mon footer -->
            </td>
    	</tr>
    </table>
    En gros, je cherche, soit l'objet qu'il faut utiliser à la place de DataList et qui ne génère pas les balises "<table> <tr> <td> <!-- ce que j'ai mis dans mon template -->...", soit le moyen de faire en sorte que le DataList ne me génère pas le code suscité

    Merci d'avance (je me demande si mon explication est compréhensible)

    PS : Oui je "débute" en C# (je n'ai aucune formation, et je travaille trop comme je faisait en ASP pas .Net où je génère des grosses lignes de code HTML brut sans utiliser de composants ASP.Net et puis tout d'un coup je me rends compte qu'un controle ASP.Net fait exactement ce que je voulais :S) même si ca fait 3 mois que je pratique

  2. #2
    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
    C'est quoi qui te géne dans le code html généré?

  3. #3
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    Et bien, le code généré est complètement faux

    J'ai une <table> dans une <table>, un <tbody> qui est suivi d'un </td>, pour chaque ligne j'ai plein de <td> qui contienent des <tr> qui ne sont donc pas dans une <table>, un <td> suivi d'un </body>.......

    En gros, niveau validation DTD on fait mieux

    PS : Par curiosité, j'ai uploadé la page sur un serveur free juste pour la passer sur le valideur W3C (Le résultat ici)

  4. #4
    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
    Utilise un asp:repeater

  5. #5
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    Merci

    J'ai passé la matinée à chercher une solution, et j'ai vu ce truc sur MSDN, mais je l'ai pas lu (sisi c'est vrai, mais je me suis braqué sur un DataList ou DataGrid... du coup, le reste je le voyais sans le voir )

    Je sais pas combien de temps j'aurai pu économiser avec ce truc

  6. #6
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    Ah si j'ai encore une question, (j'avoue ne pas avoir demandé à mon ami google pour le moment) mais est ce qu'il est possible de faire des traitements sur les données issues de ma requette ? C'est à dire je veux faire 3 colones, la première avec le contenu de la colone 1, la deuxième avec le contenu de la colone 2, et la dernière avec le contenu de la colone 3 et suivant si elle est positive ou négative, l'afficher en rouge ou en vert... mais ca c'est moins grave si c'est pas possible

  7. #7
    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
    Oui ça doit etre possible en interceptant l'événement adéquate

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

Discussions similaires

  1. Comment créer un tableau dynamique ?
    Par khokho dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2007, 08h40
  2. comment créer un tableau dans un formulaire ???
    Par trotters213 dans le forum IHM
    Réponses: 21
    Dernier message: 03/07/2007, 08h31
  3. [VBA-E] Comment créer un tableau sous vba excel
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/01/2007, 09h52
  4. Réponses: 23
    Dernier message: 17/05/2006, 16h35
  5. Réponses: 1
    Dernier message: 29/04/2006, 16h55

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