下面一段代码就是实现:
Dim
AppTionPath
As
String
=
HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath)
Dim Path As String = AppTionPath & " \crTrip.rpt " ' 主报表
Dim ID As Int32 = Request( " ID " )
Dim dt As DataTable
Dim DBObj As New DBBussinessTrip
dt = DBObj.GetTripByID(ID)
Dim MyReportDoc As New ReportDocument
MyReportDoc.Load(Path)
Dim Rdom As ReportDocument = MyReportDoc.Subreports( " crTripCost.rpt " ) ' 自报表1
Dim dtcost As DataTable = DBObj.GetCost(ID)
Dim RdocContent As ReportDocument = MyReportDoc.Subreports( " crTripContent.rpt " ) ' 自报表2
Dim dtContent As DataTable = DBObj.GetContent(ID)
If Not IsNothing (RdocContent) Then
RdocContent.SetDataSource(dtContent)
End If
If Not IsNothing (Rdom) Then
Rdom.SetDataSource(dtcost)
End If
MyReportDoc.SetDataSource(dt)
CrystalReportViewer1.ReportSource = MyReportDoc
Dim Path As String = AppTionPath & " \crTrip.rpt " ' 主报表
Dim ID As Int32 = Request( " ID " )
Dim dt As DataTable
Dim DBObj As New DBBussinessTrip
dt = DBObj.GetTripByID(ID)
Dim MyReportDoc As New ReportDocument
MyReportDoc.Load(Path)
Dim Rdom As ReportDocument = MyReportDoc.Subreports( " crTripCost.rpt " ) ' 自报表1
Dim dtcost As DataTable = DBObj.GetCost(ID)
Dim RdocContent As ReportDocument = MyReportDoc.Subreports( " crTripContent.rpt " ) ' 自报表2
Dim dtContent As DataTable = DBObj.GetContent(ID)
If Not IsNothing (RdocContent) Then
RdocContent.SetDataSource(dtContent)
End If
If Not IsNothing (Rdom) Then
Rdom.SetDataSource(dtcost)
End If
MyReportDoc.SetDataSource(dt)
CrystalReportViewer1.ReportSource = MyReportDoc