Bonjour
Je génére des gridview dynamiquement en code behind.
Chaque grid, je le met dans un controle Accordion (ajaxToolkit),( mais c'est peu important).
Jusque la tout va bien.

Maintenant, je souhaite récupérer via le click sur un bouton, le nombre de grid généré ainsi que les grid pour que je puisse les parcourir. Je n'y arrive pas.
Voici mon code:
Génération des grids
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
  //calcul du nombre de jour entre les 2 dates
            int nbJours;
            DateTime dt1 = Convert.ToDateTime(txtDate.Text);
            DateTime dt2 = Convert.ToDateTime(txtDate0.Text);
            TimeSpan ts = dt2 - dt1;
            nbJours = ts.Days;
            /* On construit autant d'onglets qu'il y a de jours.
             * Donc si on a 0 --> 1 onglet
             * 1 jour d'écart : --> 2 onglets
             * etc...
             */
 
            for (int i = 0; i <= nbJours; i++)
            {
                AccordionPane a1 = new AccordionPane();
                DateTime date;
                date = dt1.AddDays(i);
                GridView gr = new GridView();
                gr.ID = "detail_" + i;
 
 
                gr.ForeColor = ColorTranslator.FromHtml("#333333");
                gr.HeaderStyle.BackColor = ColorTranslator.FromHtml("#5D7B9D");
                gr.HeaderStyle.Font.Bold = true;
                gr.HeaderStyle.ForeColor = ColorTranslator.FromHtml("#333333");
                gr.AlternatingRowStyle.BackColor = Color.White;
                gr.AlternatingRowStyle.ForeColor = ColorTranslator.FromHtml("#284775");
                gr.AlternatingRowStyle.BackColor = ColorTranslator.FromHtml("#F7F6F3");
                gr.AlternatingRowStyle.ForeColor = ColorTranslator.FromHtml("#333333");
 
                gr.DataSource = odsStatDebCRCM;
                odsStatDebCRCM.SelectParameters["date1"].DefaultValue = date.ToShortDateString() + " 00:00";
                odsStatDebCRCM.SelectParameters["date2"].DefaultValue = date.ToShortDateString() + " 23:59";
                odsStatDebCRCM.Select();
                gr.DataBind();
                gr.Visible = true;
                Page.Controls.Add(gr);
                a1.HeaderContainer.Controls.Add(new LiteralControl(date.ToShortDateString()));
                a1.ContentContainer.Controls.Add(gr);
                accDetailDeb.Panes.Add(a1);
            }
Je souhaite faire cela sur un click :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  if (accDetailDeb.Panes.Count != 0)
        {
            int nbPanes = accDetailDeb.Panes.Count;
        }
ça me renvoie 0 alors que la page est bien remplie.
C'est comme si il ne voyait pas le postpack
J'utilisais jusque maintenant un updatepanel --> quand on fait afficher le code de la page, il n'y a pas le code généré
Sans l'update panel, je vois bien tous mes grids, mais je ne sais pas les récupérer pour les lire.

Merci pour vos aides