//sample code to generate repotviewer
rptViewer.Reset();
rptViewer.LocalReport.DataSources.Clear();
commonObject.command1 = new SqlCommand();
DataTable dt = new DataTable();
//to select details from database using sp to fill reportviewer
commonObject.command1.Parameters.AddWithValue("@CampusID", Session["CampusID"]);
dt = commonObject.ExecuteProcedureSelect("SP_SchoolAddress");
rptViewer.ProcessingMode = ProcessingMode.Local;
rptViewer.LocalReport.Refresh();
rptViewer.LocalReport.ReportPath = "Letter.rdlc";
rptDataSource1 = new ReportDataSource("DatasetName", dt);
rptDataSource = new ReportDataSource("Letter", dtDetails);
rptViewer.LocalReport.DataSources.Clear();
rptViewer.LocalReport.DataSources.Add(rptDataSource);
rptViewer.LocalReport.DataSources.Add(rptDataSource1);