迄今为止,所有报表示例都只使用了一个数据栏(主数据)来控制报表输出,仅可以打印一个数据库表的数据。FastReport允许在一个报表页面中使用6层数据(通过子报表可以扩展到更多层)。一般而言,大部分报表使用的数据局限于1-3层。
下面学习如何设置两层数据结构的报表。此报表将打印示例数据库“Customer”表和“Order”表。表1为顾客列表,表2为顾客下的订单列表。两个表包含下列数据:
Customer:
CustNo Company
1221 Kauai Dive Shoppe
1231 Unisco
1351 Sight Diver
….
Orders:
OrderNo CustNo SaleDate
1003 1351 12.04.1988
1023 1221 01.07.1988
1052 1351 06.01.1989
1055 1351 04.02.1989
1060 1231 28.02.1989
1123 1221 24.08.1993
可以看出,表2包含了所有顾客的订单列表。根据表1的数据,要从表2中查看每位顾客的数据,两个表是通过“CustNo”字段关联的。输出的报表界面如下:
1221 Kauai Dive Shoppe
1023 01.07.1988
1123 24.08.1993
1231 Unisco
1060 28.02.1989
1351 Sight Diver
1003 12.04.1988
1052 06.01.1989
1055 04.02.1989
现在开始设计这张报表。在Delphi中创建一新工程,拖放两个“Ttable”控件,一个“TdataSource”控件,两个“Tfr