Bonjour,

Je veux créer à la volée des Labels/TextBoxs/... récupérées via les paramètres de Reports.
Pour cela, je fais de la manière suivante :
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
 
ReportParameterInfoCollection parameters = this.rv_Report.ServerReport.GetParameters();
 
        if (parameters.Count > 0)
        {
            foreach (ReportParameterInfo param in parameters)
            {
                if (param.DataType == ParameterDataType.DateTime)
                {
                    Label lb_date = new Label();
                    lb_date.Text = param.Name + " : ";
                    TextBox tb_date = new TextBox();
                    tb_date.ID = "tb_" + param.Name;
                    tb_date.ClientIDMode = ClientIDMode.Static;
                    tb_date.CssClass = "datepicker";
 
                    pnl_params.Controls.Add(lb_date);
                    pnl_params.Controls.Add(tb_date);
                }
            }
        }
J'insère donc dans mon Panel, mon Label et mon TextBox, pourtant quand je veux récupérer la valeur, il ne trouve pas le Control.
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
ReportParameter[] tabParams = new ReportParameter[Parameters.Count];
 
            ContentPlaceHolder cph = (ContentPlaceHolder)this.Master.FindControl("MainContent");
            Panel pnl_params = (Panel)cph.FindControl("pnl_params");
 
            if (Parameters.Count > 0)
            {
                foreach (ReportParameterInfo param in Parameters)
                {
                    if (param.DataType == ParameterDataType.DateTime)
                    {
                        TextBox tb_test = (TextBox)pnl_params.FindControl("tb_"+param.Name);
                        if (tb_test != null)
                            tabParams[0] = new ReportParameter(param.Name, tb_test.Text);
                    }
                }
            }
Pouvez-vous m'aider à comprendre?

Merci d'avance,

Erazion.