Datareport窗体是一个和普通窗体相似的窗体,最大的差别是该窗体上只能摆放数据报表控件,这种类型的控件只有六种,他们分别是:RptLabel,Rpt
Text
Box,RptImage,RptShape,RptLine,RptFunction。从名称上基本可以识别他们的用途,RptLabel用来显示非数据绑定的文本的标签;通常用来制作报表的页标题;Rpt
Text
Box显示数据绑定的文本的内容,即显示数据库的字段的内容;RptImage显示一个图形,例如一个公司的商标;RptShape能够画出许多图形,强调信息或增强视觉效果;RptLine能够在报表中画线,分割报表种不同的区域;RptFunction允许在报表标题或报表注脚区域摆放,它包含一个简单的数学统计函数。Datareport窗体和数据报表控件如图1所示。
图1
Datareport窗体和数据报表控件
为了能够输出所有字段,必须在Datareport窗体不同的区域中摆放足够数量的相关报表数据控件,本例最多字段为八个,所以在"页标头"区域(section2)摆放了八个Rptlabel控件、九条竖分割线和上下两条横线,在"细节"区域(section1)摆放了八个Rpt
Text Box
控件、九条竖分割线和下面一条横线,如图1所示。同时为了以后的编码方便,对各控件采用如下的命名方式:控件名称为控件类型+区域号+序号,例如,"页标头"区域(section2)八个Rptlabel控件分别命名为label21、label22、label23……label28,细节"区域(section1)的八个Rpt
Text Box
控件分别命名为Text11、Text12、Text13……Text18,各区域的竖分割线采用同样的命名方式,但横分割线以控件类型+区域号来命名,如"页标头"区域中的上下两条横线分别命名为Line2和Line_2,在后面的代码里可以看出这种命名方式的好处。
Datareport窗体中最重要的三种数据控件是Rpt
Text Box、Rptlabel和RptFunction,必须分别设置它们的属性,Rpt Text
Box最重要的属性是datafield,该属性指明了绑定记录的字段名称;Rptlabel最重要的属性是Caption,该属性指明要显示的文本内容;RptFunction最重要的属性是datafield和functiontype,前者指明要绑定且作统计的记录的字段名称,后者指明统计函数的类型。这三种控件有一共同属性是Gangrow,该属性值为True时,当显示的内容超过控件的宽度时可以换行。Datareport窗体也有很多属性,如LeftMargin、RightMargin
、TopMargin 、BottomMargin 、reportwidth 、DataSource 等,其中reportwidth
设置报表的纸面宽度(必须减去左右页边距的宽度),reportwidth
须与打印机设置的纸面大小相对应,DataSource设置Datareport窗体的数据源。需要说明的是Datareport窗体中的各个区域都是对象,如section1.section2等,他们也有很多的属性,其中重点提出Keeptogther属性,当Keeptogether为True时,如果某条记录处在一页的最下面,但又不能够完全的打印出来时,可强制这条记录换到下一页输出,从而保证数据的完整性。以上只是简单的说明了Datareport窗体中涉及到的一些重要属性,其它未加说明的属性可在相关书籍和MSDN中查阅。