You can store the 2 datasets in 2 sessions & check then assign to report, That's all.
protected void BtnGenerateReport_Click(object sender, EventArgs e)
{
ReportDocument myReportDocument = new ReportDocument();
myReportDocument.Load(Server.MapPath("\\test.rpt");
if(Session["DataSet1"] != null)
{
DataSet rptDs1 = (DataSet)Session["DataSet1"];
myReportDocument.SetDataSource(rptDs1);
}
else if (Session["DataSet2"] != null)
{
DataSet rptDs2 = (DataSet)Session["DataSet2"];
myReportDocument.SetDataSource(rptDs2);
}
CrystalReportViewer1.ReportSource = myReportDocument;
CrystalReportViewer1.DataBind();
CrystalReportViewer1.EnableDrillDown = true;
}
I hope it will resolve your issue.