4,818
社区成员
发帖
与我相关
我的任务
分享
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Windows.Forms
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.ReportAppServer.ClientDoc
Imports CrystalDecisions.ReportAppServer.Controllers
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim boReportDocument As ReportDocument
Dim boReportClientDocument As ISCDReportClientDocument
Dim boSubreportClientDocument As CrystalDecisions.ReportAppServer.Controllers.SubreportClientDocument
Dim boArea As CrystalDecisions.ReportAppServer.ReportDefModel.Area
Dim boSection As CrystalDecisions.ReportAppServer.ReportDefModel.Section
Dim strSubRptFile As String
boReportDocument = New ReportDocument()
'加载主报表
boReportDocument.Load("E:\CRQuestions\AddSubReportRunTime\Crystalreport1.rpt")
'----------------------------------------
'如果要进行数据、参数、公式操作,请在此处对主报表boReportDocument进行操作
'----------------------------------------
boReportClientDocument = New ReportClientDocumentClass()
'由主报表返回待RAS操作的ReportClientDocument
boReportClientDocument = boReportDocument.ReportClientDocument
'设置待处理的报表区域(此处使用了报表页眉)
boArea = boReportClientDocument.ReportDefController.ReportDefinition.ReportHeaderArea
'创建一个新的section,用来放置子报表
boSection = New CrystalDecisions.ReportAppServer.ReportDefModel.Section
'设置新节的名称
boSection.Kind = CrystalDecisions.ReportAppServer.ReportDefModel.CrAreaSectionKindEnum.crAreaSectionKindReportHeader
boSection.Name = "ReportHeaderForSub1"
'设置节对象宽度。注意1cm=567缇,可自行调整,此处为20cm
boSection.Width = 567 * 20
'待加载的子报表
strSubRptFile = "E:\CRQuestions\AddSubReportRunTime\forSub1.rpt"
'将section加到ReportClientDocument
boReportClientDocument.ReportDefController.ReportSectionController.Add(boSection, boArea, -1)
'导入子报表,ss1是子报表对象在主报表上的名称
boSubreportClientDocument = boReportClientDocument.SubreportController.ImportSubreport("ss1", strSubRptFile, boSection)
'----------------------------------------
'如果要进行数据、参数、公式操作,请在此处对子报表boSubreportClientDocument 进行操作
'----------------------------------------
'刷新Viewer
CrystalReportViewer1.ReportSource = boReportDocument
End Sub
End Class