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 :

Gridview et connexion à une table crée dynamiquement


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Par défaut Gridview et connexion à une table crée dynamiquement
    Bonsoir et d'avance merci à tous,

    je crée une table dynamiquement de la façon suivante (j'ai simplifié) :
    en sachant que "mesInfos" est un tableau alimenté par ailleurs et que
    "maGrid" ne contient qu'une seule colonne de type Templatefield.

    ci-joint du code afin de bien me faire comprendre car il n'est pas simple d'expliquer
    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
     
    Dim MonDataset As DataSet = New DataSet()
    Dim table1 As DataTable = MonDataset.Tables.Add("Matable")
    Dim column As DataColumn = table1.Columns.Add("MaColonne", 
    System.Type.GetType("System.String"))
    Dim row As DataRow
    Dim i As Integer
    For i = 0 To mesInfos.Length - 1
                 row = table1.NewRow()
                 row("MaColonne") = mesInfos(i)
                 table1.Rows.Add(row)
    Next i
    MaGrid.DataSource = MonDataset.Tables("Matable")
    MaGrid.DataMember = "MaColonne"
    MaGrid.DataBind()
    Par exemple si j'ai 4 lignes dans ma table ==> "magrid" affiche bien 4 lignes,
    si j'ai 12 lignes dans ma table ==> "magrid" affiche bien 12 lignes mais la
    colonne m'affiche tout le temps "System.data.datarowview" pour chaque ligne.

    Je sais que je pourrais faire directement MaGrid.DataSource = mesInfos (et
    ça marche) mais ce n'est pas ce que je veux car là c'est pour l'exemple que
    j'ai utilisé un tableau qui alimente une table crée dynamiquement (mais dans
    mon programme d'origine c'est autrement que je l'alimente et je n'ai pas la
    place pour tout écrire, c'est juste pour évoquer mon problème que j'utilise
    un tableau).

    J'ai essayé avec MaGrid.DataMember = "aaa" pour voir et j'obtiens le même
    résultat donc je pense que c'est de ce côté que je bugue.
    Même chose si je ne renseigne pas du tout MaGrid.DataMember.
    Donc ma question est : comment obtenir pour chaque ligne de MaGrid le contenu de la
    colonne "MaColonne" ?

    merci de m'expliquer où je me plante.

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    tu dois utiliser soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaGrid.DataSource = MonDataset
    MaGrid.DataMember = "MaColonne"
    MaGrid.DataBind()

    soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaGrid.DataSource = MonDataset.Tables("Matable")
    MaGrid.DataBind()

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Par défaut Hélas ça ne marche pas
    Merci pour la réponse

    mais dans le 1er cas j'obtiens l'erreur : Le IListSource utilisé ne contient pas une source de données appelée 'MaColonne'. Vérifiez votre valeur DataMember.
    et dans le 2ème cas que j'avais déjà essayé (et mis dans ma demande) la colonne m'affiche tout le temps "System.data.datarowview" pour chaque ligne.

    Auriez-vous une autre idée ?

  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
    Fais voir ton datagrid

  5. #5
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 63
    Par défaut Gridview
    Bonsoir,

    voici le code de la gridview, y a pas plus simple :

    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
     
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="GestionDesOutils.aspx.vb" Inherits="GestionDesOutils" %>
     
    <!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">
             <asp:GridView ID="UsersInRoleGrid" runat="server" AutoGenerateColumns="False" CellPadding="4"
                    ForeColor="#333333" GridLines="None" 
                    Width="352px" Height="150px">
             <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                 <Columns>
                    <asp:TemplateField HeaderText="Nom d'Utilisateur">
                        <ItemTemplate>
                            <%# Container.DataItem.ToString() %>
                        </ItemTemplate>
                    </asp:TemplateField>
                 </Columns>
                <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
                    <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
                    <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
                    <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                    <AlternatingRowStyle BackColor="White" />
             </asp:GridView>
        </form>
    </body>
    </html>
    et le résultat visuel en pièce jointe

    12 lignes avec 12 éléments dans la table, si 8 éléments 8 lignes pareilles, etc.
    j'ai vérifié en faisant une boucle pour balayer la table et chaque ligne du Dataset contient bien une donnée dans la colonne "MaColonne".
    D'ailleurs si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim MesInfos(3) As String
            MesInfos(0) = "0"
            MesInfos(1) = "1"
            MesInfos(2) = "2"
            MesInfos(3) = "3"
    UsersInRoleGrid.DataSource =MesInfos
    UsersInRoleGrid.DataBind()
    cela marche bien, voir 2ème visuel, mais dès que je passe par le Dataset plus rien sauf le nombre de ligne qui est correct !!!


    Cela fait une journée que je suis dessus et je n'arrive toujours pas à trouver où je me plante, pourtant avec une colonne unique j'ai vraiment honte

    Il doit y avoir un truc qui m'échappe mais je n'arrive pas à le cerner, si quelqu'un pouvait m'expliquer où est mon erreur ?

    D'avance merci beaucoup
    Images attachées Images attachées   

  6. #6
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    <asp:TemplateField HeaderText="Nom d'Utilisateur">
                        <ItemTemplate>
                            <asp:Label id="label1" runat="server" Text='<%# Eval("Macolonne") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
    Essaie ça

Discussions similaires

  1. [AJAX] Enlever le champ d'une table crée dynamiquement
    Par jean christophe dans le forum AJAX
    Réponses: 2
    Dernier message: 09/02/2011, 12h58
  2. Réponses: 5
    Dernier message: 08/03/2006, 03h42
  3. [ezPDF] Fonction addImage : insérer une image créée dynamiquement
    Par Huntress dans le forum Bibliothèques et frameworks
    Réponses: 37
    Dernier message: 29/11/2005, 11h20
  4. Centrer un texte sur une image créée dynamiquement
    Par rigolman dans le forum Langage
    Réponses: 7
    Dernier message: 11/10/2005, 17h22
  5. Problèmes avec une TForm créée dynamiquement
    Par Pascal Jankowski dans le forum Composants VCL
    Réponses: 5
    Dernier message: 30/03/2005, 11h55

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