我有一个使用ActiveReports1的旧应用程序。我将变量传递给报表本身,然后对SQL进行三个查询调用,每个查询都转储到其自己的记录集中。每个查询都有一个特定的where子句,因为vb6没有linq,所以我会咬住子弹并调用sql 3次。 :(。无论如何,我有三个部分,电气,物理和密闭空间。如何在此报告中创建3个子报表?我附上了报告部分的示例。基本上,所有具有该ID的记录都在一个名为“ X”的列中具有字符串值,而Physical则是所有在该列中没有字符串值的记录。该列值的值。不是vb6程序员,所以任何方向都很好。通常,我会破坏列上的数据表,并且它将以这种方式进行分组。.NET中,但不确定从何处开始。
关于每个子报表的不同数据源,您可以通过执行以下general步骤来处理任意数量的子报表:
这里是一个示例脚本:
Private rptSub As GrapeCity.ActiveReports.SectionReport
Private ds As New GrapeCity.ActiveReports.Data.SqlDBDataSource()
Sub GroupFooter1_Format
rptSub = New GrapeCity.ActiveReports.SectionReport()
rptSub.LoadLayout("MyCustomFolder\subreport1.rpx")
ds.ConnectionString = "MyConnectionString"
ds.SQL = "SELECT * FROM MyTable WHERE ImportantField = 'FilterValue'"
rptSub.DataSource = ds
me.srpt1.Report = rptSub
End Sub
这是一个工作示例(与上面的通用代码不完全相同),它与嵌入在WinForm应用程序中的ActiveReports版本一起使用。