ReportViewer to the strongly typed Report included in the project crystalReportViewer1.ReportSource = crReportDocument;
还有一点要注意: 如果你用到了子报表,一定要处理: //Go through each sections in the main report and identify the subreport by name crSections = crReportDocument.ReportDefinition.Sections; foreach(Section crSection in crSections) {
crReportObjects = crSection.ReportObjects; //loop through all the report objects to find all the subreports foreach(ReportObject crReportObject in crReportObjects) { if (crReportObject.Kind == ReportObjectKind.SubreportObject) { //you will need to typecast the reportobject to a subreport //object once you find it crSubreportObject = (SubreportObject)crReportObject; //open the subreport object crSubReportDoc = crSubreportObject.OpenSubreport(crSubreportObject.SubreportName); //Once the correct subreport has been located pass it the //appropriate dataset if(crSubReportDoc.Name == "FirstSub") { //crSubReportDoc.Database.Tables[0].SetDataSource(ds); crSubReportDoc.SetDataSource(ds); } } }
} crysta