本文实例讲述了水晶报表asp.net的webform下基本用法。分享给大家供大家参考。
具体实现方法如下:
protected void Page_Init(object sender, EventArgs e) { ConfigureCrystalReport(); } protected void Page_Unload(object sender, EventArgs e) { if (rptDocument == null) return; rptDocument.Close(); rptDocument.Dispose(); }private void ConfigureCrystalReport() { string temp = BusinessObject.Util.Decrypt(Request.QueryString["toid"]); TourOrderId = Util.ConvertTo<int>(temp, 0);
if (ViewState["reportdoc"] == null) { string report_path = ""; report_path = Server.MapPath("~/Report/TourNote.rpt");
DataSet ds = BusinessObject.TourOrders.GetTourNoteDsRpt(TourOrderId); if (ViewState["reportdata"] == null) { ViewState["reportdata"] = ds; } else { ds = (DataSet)ViewState["reportdata"]; } rptDocument = new ReportDocument(); rptDocument.Load(report_path); rptDocument.SetDataSource(ds); rptDocument.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize; ViewState["reportdoc"] = rptDocument; } else { rptDocument = (ReportDocument)ViewState["reportdoc"]; } this.CrystalReportViewer1.ReportSource = rptDocument; this.CrystalReportViewer1.HasToggleGroupTreeButton = false; this.CrystalReportViewer1.DisplayGroupTree = false; }
使用方法.先建了一个数据集做为数据源,作为水晶报表的数据架构.
代码里面调用一个存储过程,返回拥有多张表的DataSet.
希望本文所述对大家的asp.net程序设计有所帮助。