Hi, I create a project with two report's.
One report (the master) contains tabular data and another report (the subreport) with only the Chart.
The problem:
When I run the main report the first time, the tabular data on master report and the chart in subreport shows correctly.
But if I change the parameters on the mater report, only a data in a master report is correctly refresh. The chart of subreport stay with first values. I try copy the Chart to master report without success.
I use a Chart with NeedDatasource event.
My Business with Dataset for Report and Chart Datasource
My Report with Chart (without subreport)
One report (the master) contains tabular data and another report (the subreport) with only the Chart.
The problem:
When I run the main report the first time, the tabular data on master report and the chart in subreport shows correctly.
But if I change the parameters on the mater report, only a data in a master report is correctly refresh. The chart of subreport stay with first values. I try copy the Chart to master report without success.
I use a Chart with NeedDatasource event.
My Business with Dataset for Report and Chart Datasource
public static class BusinessParameters |
{ |
public static ReportParameter DataInicial { get; set; } |
public static ReportParameter DataFinal { get; set; } |
public static Datasets.DSEnvioRepresentante DSEnvioRepresentante { get; set; } |
public static Boolean ParamsOK() |
{ |
return (DataInicial != null) && |
(DataFinal != null) && |
(DataInicial.Value != null) && |
(DataFinal.Value != null) && |
(!String.IsNullOrEmpty(DataInicial.Value.ToString())) && |
(!String.IsNullOrEmpty(DataFinal.Value.ToString())); |
} |
} |
My Report with Chart (without subreport)
/// <summary> |
/// Summary description for EnvioPorRepresentanteA. |
/// </summary> |
/// |
[Description("Envios por Representantes")] |
public partial class EnvioPorRepresentante : DCReport |
{ |
public EnvioPorRepresentante() |
{ |
/// <summary> |
/// Required for telerik Reporting designer support |
/// </summary> |
InitializeComponent(); |
// |
// TODO: Add any constructor code after InitializeComponent call |
// |
this.Visivel = true; |
BLL.BusinessParameters.DSEnvioRepresentante = new DocumentCenter.Reports.Datasets.DSEnvioRepresentante(); |
} |
private void BindData() |
{ |
BLL.BusinessParameters.DataInicial = this.ReportParameters[0]; |
BLL.BusinessParameters.DataFinal = this.ReportParameters[1]; |
if (BLL.BusinessParameters.ParamsOK()) |
{ |
Datasets.DSEnvioRepresentanteTableAdapters.EnviosPorRepresentanteTableAdapter taEnvioRepresentante = new DocumentCenter.Reports.Datasets.DSEnvioRepresentanteTableAdapters.EnviosPorRepresentanteTableAdapter(); |
taEnvioRepresentante.ClearBeforeFill = true; |
taEnvioRepresentante.FillByData(BLL.BusinessParameters.DSEnvioRepresentante.EnviosPorRepresentante, Convert.ToDateTime(BLL.BusinessParameters.DataInicial.Value), Convert.ToDateTime(BLL.BusinessParameters.DataFinal.Value)); |
} |
else |
{ |
Datasets.DSEnvioRepresentanteTableAdapters.EnviosPorRepresentanteTableAdapter taEnvioRepresentante = new DocumentCenter.Reports.Datasets.DSEnvioRepresentanteTableAdapters.EnviosPorRepresentanteTableAdapter(); |
taEnvioRepresentante.ClearBeforeFill = true; |
taEnvioRepresentante.Fill(BLL.BusinessParameters.DSEnvioRepresentante.EnviosPorRepresentante); |
} |
} |
private void EnvioPorRepresentante_NeedDataSource_1(object sender, System.EventArgs e) |
{ |
BindData(); |
(sender as Telerik.Reporting.Processing.Report).DataSource = BLL.BusinessParameters.DSEnvioRepresentante; |
(sender as Telerik.Reporting.Processing.Report).DataMember = "EnviosPorRepresentante"; |
} |
private void chart1_NeedDataSource(object sender, EventArgs e) |
{ |
Telerik.Reporting.Processing.Chart chart = sender as Telerik.Reporting.Processing.Chart; |
chart.DataSource = BLL.BusinessParameters.DSEnvioRepresentante.EnviosPorRepresentante; |
} |
} |