一、 简单了解各控件功能
以下是各控件最简单的使用功能,其他功能依具体的实现而介绍。
1. TquickRep:带有坐标,作为其他报表控件(如TQRBand)的容器,它的Band属性可以自动添加各种类型的TQRBand.
2. TQRLabel:打印静态的文本(即不是根据数据库值来改变的),作用象Tlabel , Caption的内容就打印出来的内容。
3. TQRDBText:打印数据库字段值,一个值一行。作用象TDBText.把它的DataSet , DataField分别赋予Table1,Company时,将打印Table1所指向的表的Company字段的内容。
4. TQRSysData:打印系统信息如时间,页码,报表头等。
5. TQRMemo:非常象TQRLabel,只是它可以打印多行,也是打印静态数据。
6. TQRRichText:打印RichText格式,能够连接到一个Form上的RichEdit控件并打印它的内容,不过必须是32位版本的。
7. TQRShape:打印方框、圆和垂直、水平线。
8. TQRImage:打印静态的图片,包括(BMP,WMF,ICON).
9. TQRDBImage:从数据库接收图片。
10. TQRBand:用来确定报表的不同位置应该显示什么内容,它上面可以放控件(参见二)。
11.TQRGoups:Groups可以不限级别的组操作。当你连接了几个datasets到报表时可以通过Groups成组的对dataset进行操作。
二、 报表的控件摆放循序
出现在所有页上的标题(PageHeader)
标题(只有首页才有)(Title)
所有列的标题(ColumnHeader)
记录的内容,一个字段一列(Detail)
摘要(最后一页才有)(Summary)
出现在所有页上的页脚(PageFooter)
这些根据设置不同的Band(不是控件,一种类型而已,在其上面可以放其他控件)来定位。总共有六种Band。
三、 一个简单的例子
这个例子制作打印一张表的部分字段名及该字段数据内容的报表。
1. 建立一个新project
2. 放一个TTable到Form上,DatabaseName设为BCDEMOS,TableName指向Customer表,Active设为true.
3. 放一个TquickRep控件在Form上,DataSet属性为Table1.(即要显示上边Table1所指向的表的内)。
4.展开TquickRep的Bands属性,设HasDetail为true,这时自动增加个detail band(一个TQRBand控件,故也可以直接放一个TQRBand控件,BandType属性设为detail就行了)。
5.放一个TQRDBText控件在detail band上面,设DataSet指向Table1,DataField指向Company。第四步是设置在报表的什么位置显示什么类型的数据,而TQRDBText则具体实现。