本文主要讲述主从报表设计的过程,需要的显示控件,数据控件,即重要属性的设置。
Qreport控件说明:
1 。Group Header 与Group Footer的设置:放一个Qrband和一个QrGoup(默认放置的QrGroup都是 Group Header),
将QrGroup的FooterBand指向QrBand,这里看到Qrband变成了Group Header,相应的Group Footer也产生了,
2 .再添加一个QrSubDetail:(建立一个主/明细(master/detail) 报表,连接明细文件的组件),将其FooterBand指向刚才添加的Group Footer控件,
将QrSubDetail的master指向TquickRep,一个主细表的控件关系就建好了 。
注意:要将Group Header的master设置为QrSubDetail, Expression属性不要忘记了(例如为qryOrder.Terms,设置了Expression才能显示全部的数据)
之后就是各个band上加入TQrDBtext ,显示需要的数据
数据源控件说明:
1.添加一个 Ttable控件,DatabaseName设为BCDEMOS,TableName指向Customer表,Active设为true。
2.TdataSource控件:设置DataSet属性为:Ttable, 还要设置indexFieldNames
3.Tquery控件 设置sql为:select * from orders WHERE (CustNo = :CustNo) order by custno, Terms,
DatabaseName设置为DBDEMOS,DataSource设置为TdataSource(主要是产生从表数据)
报表控件与数据源控件的关系:
将TQuickRep的dataSet属性设置为Ttable,否则只显示一行数据,设置后才能显示全部的数据,
将subDetail的DataSet属性设置为Tquery,否则也只显示一行数据,设置后才能显示全部的数据,设置subDetail的Master属性为TQuickRep
总之报表做报表是个细致的工作,本文只是粗浅的写一下自己学习的过程即遇到的问题,之后会慢慢补充完善。
放上源码吧,希望朋友们多多指正:
/Files/gaiyang/QReport设计主从报表GroupHeader与GroupFooter的设置.rar