#.net #crystal-reports
#.net #crystal-отчеты
Вопрос:
Я использую 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 =" amp; CheckId amp; ")")
tblMyCompany.TableName = "tblCompany"
ds.Tables.Add(tblMyCompany)
Dim tblCheckIn As DataTable = data.GetDataTableFromQuery("select * from tblCheckIn where id=" amp; CheckId)
tblCheckIn.TableName = "tblCheckIn"
ds.Tables.Add(tblCheckIn)
Dim CheckInRoomQuery As DataTable = data.GetDataTableFromQuery("select * from CheckInRoomQuery where ChId=" amp; CheckId)
CheckInRoomQuery.TableName = "CheckInRoomQuery"
ds.Tables.Add(CheckInRoomQuery)
Dim tblCheckInExtra As DataTable = data.GetDataTableFromQuery("select * from tblCheckInExtra where ChId=" amp; 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
Этот код работает хорошо, если я вставляю только один вложенный отчет в раздел detail, но терпит неудачу, когда я вставляю второй вложенный отчет в раздел detail. Когда я вставляю 2 вложенных отчета в раздел сведений (раздел сведений a, раздел сведений b), то в обоих разделах данные не отображаются. Я уверен, что мой запрос содержит данные. Как я могу это решить?
Ответ №1:
Зачем вам нужны два вложенных отчета в одном разделе?
Вы можете решить вашу проблему двумя способами:
-
Объедините 2 вложенных отчета в один, чтобы отобразить данные.
-
Используйте 2 групповых заголовка для вложенных отчетов. Сгруппируйте их на основе одной записи из таблицы, чтобы они не повторялись.
Комментарии:
1. ob.Subreports(«rptCheckInRoom.rpt»). setDataSource(CheckInRoomQuery) ob.Subreports(«rptCheckInExtra.rpt»). setDataSource(tblCheckInExtra)