generate multiple Reports for different purpose.How to use single crystalreportviewer
Well, that's the general way - have one reportviewer and show the needed report in it. All you have to do is define the reportviewer source report at runtime.
Viewer is a control that will show a report that we ask it to. You can change the report as per need for the single viewer. You will view one report at a time as defined by you in it.
ReportDocument _rdStudents = new ReportDocument();
string reportPath = Server.MapPath("Students_CrystalReport.rpt");
CrystalReportViewer1.ReportSource = _rdStudents;
If needed refer: Runtime dynamically bind data into a crystal report using Asp.net C#