none
remplir GridView manuellement RRS feed

  • Question

  • Bonjour,

    je passe d'une application Windows Form à l'ASP.NET que je suis en train d'apprendre. J'etais assez a l'aise avec le DataGridView mais avec le GridView je suis un peu perdu.

    avec le DataGridView, il suffisait de faire MonDataGrid.Rows.Add("toto", "titi", "tata") et ça remplissait le datagridview, après lui avoir donné le nombre de colonnes.

    là je suis un peu perdu avec le GridView. je vois que ça ne fonctionne pas de la même manière. 

    Dans ma page, j'ai initialisé le GridView de la manière suivante :

    <asp:GridView ID="GridSociete" runat="server" CellPadding="4" EnableModelValidation="True" ForeColor="#333333" GridLines="None">
                        <AlternatingRowStyle BackColor="White" />
                        <EditRowStyle BackColor="#2461BF" />
                        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                        <RowStyle BackColor="#EFF3FB" />
                        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                        <Columns>
                            <asp:TemplateField HeaderText="Code société" SortExpression="Code société">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CodSociete") %>'></asp:TextBox>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Nom société" SortExpression="Nom société">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("NomSociété") %>'></asp:TextBox>
                                </EditItemTemplate>
                            </asp:TemplateField>
    
                        </Columns>
                    </asp:GridView>

    sur mon code CS, j'ai indiqué ça :

     foreach (var item in q)
                    {
                        ListBox1.Items.Add(item.CODSOCIETE);
    
                        DataTable dt = new DataTable("societe");
    
                        DataColumn dcId = new DataColumn(item.CODSOCIETE);
                        DataColumn dcNom = new DataColumn(item.NOMSOCIETE);
    
                        dt.Columns.Add();
                        dt.Columns.Add(dcNom);
    
                        DataRow dr = dt.NewRow();
    
                        dt.Rows.Add(dr);
    
                        GridSociete.DataSource = dt.DefaultView;
                        GridSociete.DataBind();
                    }

    le but étant biensure de remplir le GridView manuelement.

    si quelqu'un a de a doc ou si il peut m'aider, ca serait très gentil. le livre sur l'ASP.NET qui me sert à mon apprentissage ne parle pas de ça, seulement le remplissage à partir d'une base de données.


    "Un bon technicien n'est pas un technicien qui pense tout savoir" Lallemand Sébastien MCITP EA Windows Server 2008 R2 Apprenti développeur C# EF

    vendredi 5 juillet 2013 20:34

Réponses

  • Bonjour,

    A quoi correspond q ? Que donne tout simplement :

    GridSociete.DataSource=q;
    GidSociete.DataBind();

    Attention dans le code ASPX vous avez utilisé "NomSociété" alors que la propriété semble être NomSociete (sans accent).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    samedi 6 juillet 2013 21:26
    Modérateur

Toutes les réponses