水晶报表asp.netwebform下的基本使用

代码
   
     
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)