我使用Crystal Reports来显示报告数据:
Dim data As clsData = clsData.Instance
Dim ds As New DataSet
Dim tblMyCompany As DataTable = data.GetDataTableFromQuery("select * from tblCompany where Id = (select CompId from tblCheckIn Where Id =" & CheckId & ")")
tblMyCompany.TableName = "tblCompany"
ds.Tables.Add(tblMyCompany)
Dim tblCheckIn As DataTable = data.GetDataTableFromQuery("select * from tblCheckIn where id=" & CheckId)
tblCheckIn.TableName = "tblCheckIn"
ds.Tables.Add(tblCheckIn)
Dim CheckInRoomQuery As DataTable = data.GetDataTableFromQuery("select * from CheckInRoomQuery where ChId=" & CheckId)
CheckInRoomQuery.TableName = "CheckInRoomQuery"
ds.Tables.Add(CheckInRoomQuery)
Dim tblCheckInExtra As DataTable = data.GetDataTableFromQuery("select * from tblCheckInExtra where ChId=" & CheckId)
tblCheckInExtra.TableName = "tblCheckInExtra"
ds.Tables.Add(tblCheckInExtra)
Dim ob As rptCheckOut = New rptCheckOut
ob.SetDataSource(ds)
ob.Subreports(0).SetDataSource(CheckInRoomQuery)
'ob.Subreports(1).SetDataSource(tblCheckInExtra)
CrystalReportViewer1.ReportSource = ob
如果我在详细信息部分中仅插入一个子报表但在我在详细信息部分插入第二个子报表时失败,则此代码很有效。当我在详细信息部分中插入2个子报告时(详细信息部分a,详细信息部分b),则两个部分都不显示数据。我确信我的查询包含数据。我该如何解决这个问题?
答案 0 :(得分:0)
为什么在一个部分中需要两个子报告?
您可以通过两种方式解决问题:
将2个子报告合并为一个以显示数据。
为子报表使用2个GroupHeaders。根据表格中的单个条目对它们进行分组,以便它们不会重复。