Bonjour,

Ca fait longtemps que je viens ici quand j'ai un probleme mais j'ai (enfin?) trouvé un problème qui me pousse à poster, faute d'avoir trouver la reponse en recherche.

Voila, je suis en stage et je doit realisé une page ASP permettant de consulter une base de donnée (actuellement Acess mais bientot migrer)
Avec ce stage, je m'initie aussi à l'asp.

Cette page marche très bien, elle m'affiche ma base dans une GridView et le formulaire de recherche marche nickel.

Seulement voila, on a decidé de rendre cette page utilisable pour n'importe quelle base de données. En changeant des paramètres du fichier web.config (requete à afficher au chargement initial et chaine de connection), le contenu de la page sera different: GridView dependant de la requete et les DropDownList auront chargés les colonnes de la GridView.

Seulement voila, j'arrive bien à creer la gridView Dynamiquement seulement la page ne me charge pas les DropDownList. Avec un peu de recherche, je me suis rendu compte que le nombre de colonne de la GridView était de 0 (ce qui est faux puisqu'il me les affiche bien)


Voila le code ASP de ma GridView
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="20" >
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#E3EAEB" />
            <EditRowStyle BackColor="#7C6F57" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
Voila le code de chargement que j'appelle en haut de PageLoad:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
this.SqlDataSource1.SelectCommand=strRequetePrinc;
 
        GridView1.DataSourceID = "SqlDataSource1";
Et voila comment je charge mes DropDownList:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
for (i = 0; i < this.GridView1.Columns.Count; i++)
            {
 
                this.DrpDownCol.Items.Add(this.GridView1.Columns[i].ToString().ToLower());
            }
Seulement this.GridView1.Columns.Count vaut 0 alors que sur ma page, j'ai bien plusieurs colonnes. Donc voila, je ne sais pas trop comment recuperer mes noms de colonnes, indispensable pour que mon formulaire marche.

Merci d'avance pour les reponses