This is the proper solution.
if(...)
{
reportViewer1.LocalReport.ReportPath = "GenerateReport1.rdlc";
reportViewer1.LocalReport.SetParameters(reportParameter);
reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource rd = new ReportDataSource("DataSet1", datasource1);
reportViewer1.LocalReport.DataSources.Add(rd);
}
else
{
reportViewer1.LocalReport.ReportPath = "GenerateReport2.rdlc";
reportViewer1.LocalReport.SetParameters(reportParameter);
reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource rd = new ReportDataSource("DataSet2", datasource2);
reportViewer1.LocalReport.DataSources.Add(rd);
}
......