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 :
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
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); } } }
Pouvez-vous m'aider à comprendre?
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); } } }
Merci d'avance,
Erazion.
Partager