水晶报表asp.net的webform下基本用法实例

395 查看

本文实例讲述了水晶报表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程序设计有所帮助。