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

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