《数据库应用技术-Delphi应用系统开发》-蒋丽华-电子教案 第九章_第1页
《数据库应用技术-Delphi应用系统开发》-蒋丽华-电子教案 第九章_第2页
《数据库应用技术-Delphi应用系统开发》-蒋丽华-电子教案 第九章_第3页
《数据库应用技术-Delphi应用系统开发》-蒋丽华-电子教案 第九章_第4页
《数据库应用技术-Delphi应用系统开发》-蒋丽华-电子教案 第九章_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习Rave组件的基本功能和常用属性、方法和事件

掌握RaveDesinger报表设计环境的组成部分和使用方法

掌握Rave组件结合报表向导开发数据报表掌握利用RaveDesinger手工制作报表第9章

数据报表的制作在数据库项目中,设计报表是最重要的任务之一,报表就是用来概括数据的文档。例如,公司要制作一个月度报表来列出所有超过销售定额的销售人员。这样数据的分析与统计结果需要以报表的形式显示,并最终打印成文档以供领导审批或者存档。

Delphi为用户设计了功能强大的软件工具,它能自动生成报表。其中RaveReport5.0数据报表集成开发环境是从Delphi7才开始引入的(以前版本的Delphi的数据报表开发技术称为QuickReport),它是一个功能强大的集成报表开发环境。

Delphi7中实现报表的方法称为Rave,将Rave报表组件添加到应用中后,就可以创建各种类型的报表。本章将讨论怎样使用Rave,介绍各个Rave报表组件及其属性、方法和事件,最后举例说明如何利用Rave组件设计各种样式的报表。7/23/202429.1Rave报表组件概述

Rave报表组件位于Rave组件面板中,如图9-1所示,共有13个组件。这些组件分别从左到右依次为:RvProject组件、RvSystem组件、RvNDRWriter组件、RvCustomConnection组件、RvDataSetConnection组件、RvTableConnection组件、RvQueryConnection组件、RvRenderPreview组件、RvRenderPrinter组件、RvRenderPDF组件、RvRenderHTML组件、RvRenderRTF组件和RvRenderText组件。Rave组件中的这13个组件可以被分为4个大类。l

Rave工程组件

Rave工程组件只包含一个RvProject组件,是应用程序和Rave可视报表之间的接口,可以在RaveDesignet中设计各种格式的报表。通过RvProject组件可以在Delphi应用程序中打开已经设置好的Rave报表。7/23/20243l

引擎类组件引擎类组件包括RvSystem和RvNDRWriter组件,可以从以前定义的报表文件中读取,也可以根据属性描述设定报表风格。l

Render组件

Render组件用来将一个RSR(RaveSnapshotReport)文件或者从RvNDRWriter产生的流转换为各种格式,并发布出来。这类组件主要包括的有:RvRenderPreview、RvRenderPrinter、RvRenderPDF、RvRenderHTML、RvRenderRTF和RvRenderText组件。l

数据连接组件数据连接组件主要用于将应用程序的数据和Rave报表中的DirectDataViews相连接,它主要包括的有:RvCustomConnection、RvDataSetConnection、RvTableConnection和RvQueryConnection组件。图9-1RaveReport5.0组件7/23/20244下面重点介绍RvProject组件、RvSystem组件、RvNDRWriter组件、RvDataSetConnection组件、RvTableConnection组件、RvQueryConnection组件、RvRenderPreview组件、RvRenderPrinter组件、9.1.1RvProject组件

RvProject组件是Rave报表工具中的核心组件,是访问Rave可视化报表的手段,只要使用Rave报表就要利用到RvProject组件。通常情况下应用程序中只有一个RvProject组件,如果必要的话可以有多个。下面介绍RvProject组件的主要属性和方法。

ProjectFile属性:用于指定应用程序保存报表定义的Rave项目文件,这种项目文件的扩展名一般是.rav,尽管是一个文件,但是Rave项目可以保存各种报表的定义。当调用了TraveReport的Open方法后,Rave项目文件将被装入内存以准备显示或打印。在关闭应用程序之前必须关闭Rave项目文件,这可以通过调用Close方法来实现。若对报表的定义做了修改,可以调用Save方法保存所作的修改。7/23/20245在ObjectInspector中双击ProjectFile属性或者单击该属性后的“”按钮,可以打开SelectRaveProjectFile对话框,如图9-2所示。通过该对话框可以选择报表的工程文件。

DLLFile属性:指明当LoadDesigner属性为True时要使用的DLL文件名。根据是否使用了packages包,文件可以是RavePack或者是RaveSolo动态链接库。这个属性只对RaveEUDL许可证有效。7/23/20246图9-2SelectRaveProjectFile对话框

Engine属性:用于指定报表的引擎,该报表引擎在通过RvProject组件打印报表的时候使用,若这个属性没有被定义,一个默认的RvSystem将会被创建以填补该属性,TRvSystem和TRvNDRWriter对象都可以赋给这个属性。7/23/20247

StoreRAV属性:用于指定要保存到应用程序中的报表文件。当通过该属性指定RAV文件后,该文件将被编译到应用程序中称为应用程序的一部分。在ObjectInspector中双击StoreRAV属性或者单击该属性后的“”按钮,可以打开LoadIntoExe对话框,如图9-3所示。

图9-3LoadIntoExe对话框单击“”按钮打开对话框,选择要装载的RAV文件,完成后单击“”按钮将文件装载到应用程序中。单击“”按钮可以将当前应用程序中的RAV文件保存成标准的RAV文件。单击“”按钮可以清除RAV文件。7/23/20248

Execute方法:用于开始打印当前选中的Rave报表。其使用方法如下。

RvProject1.Execute;Open方法:用于打开指定的报表项目文件,相当于设置Active属性为True。Close方法:用于关闭指定的报表项目文件,并从内存中卸载,相当于设置Active属性为False。若调用了RvProject的Open方法,则在应用程序退出前务必调用本方法。9.1.2RvSystem组件

RvSystem组件是一个功能非常强大的组件,集合了RvRenderPreview、RvRenderPrinter和RvNDRWriter组件的功能。RvSystem组件可以将报表发送到打印机或者预览窗口,也可以显示Setup和状态屏幕。RvSystem组件的常用属性如下。

SystemPreview属性:用于显示在RvRenderPreview中的所有的预览类型选项。其中包含属性以及含义如下。7/23/20249l

FormHwight:定义了RvSystem报表预览窗口的高度。l

FormState:定义了报表预览窗口的初始状态,包括正常显示、最小化和最大化。l

FormWidth:定义了RvSystem报表预览窗口的宽度。

RulerType属性:指定了预览窗口中标尺的类型,可以选择的类型,如表9-1所示。表9-1预览窗口中标尺的类型7/23/2024107/23/202411

SystemOptions属性:用于控制RvSystem组件的配置情况,其各个属性的取值以及含义表9-2所示。表9-1SystemOptions中各个属性的取值以及含义表9-2SystemOptions中各个属性的取值以及含义7/23/2024129.1.3RvNDRWriter组件

RvNDRWriter组件用于连接RvRenderPrinter和RvRenderPreview组件,以特殊的二进制格式保存一个报表,一直到该报表准备打印或者预览时。RvNDRWriter组件的常用属性如下。

Copies属性:用户指定或者返回打印到打印机时的份数。下面的代码指定打印3份报表。RvNDRWriter.Copies:=3;

但并不是所有的打印机都支持此功能,尤其是一些非激光打印机。可以通过MaxCopies属性判断该功能是否可以使用。对于不支持该功能的打印机不得不多次进行打印。

CurrentPage属性:用于返回当前页的页码。

FirstPage属性:用于返回第一页的页码。

LastPage属性:用于返回最后一页的页码。

Pages属性:用于返回报表中的总页数。下面的代码将显示“第xx页,共xx页”的格式。7/23/202413WithRvNDRWriter1doBeginEdtPage.Text:=IntToStr(CurrentPage);PageLabel.Caption:='第'+IntToStr(CurrentPage-FirstPage+1)+'页,共'+

IntToStr(Pages)+'页';End;MarginBottom属性:用于设置或返回页边距中的底边距。MarginTop属性:用于设置或返回页边距中的顶边距。MarginLeft属性:用于设置或返回页边距中的左边距。MarginRight属性:用于设置或返回页边距中的右边距。下面的代码用于设置页面的4个边距。7/23/202414WithRvNDRWriter1doBeginMarginBottom:=0.6;MarginTop:=0.6;MarginLeft:=0.6;MarginRight:=1.1;End;Orientation属性:用于设置页面是横向还是纵向,取值为poPortrait表示纵向设置页面,取值为poLandscape表示横向设置页面。

ScaleX和ScaleY属性:分别用于设置页面的水平缩放比例和纵向缩放比例,100表示正常尺寸,50表示缩小50%,200表示放大两倍。下面的代码将页面缩小到原来的四分之一。RvNDRWriter1.ScaleX:=50;RvNDRWriter1.ScaleY:=50;7/23/2024159.1.4RvDataSetConnection组件

RvDataSetConnection组件为Rave报表提供数据源,通过属性DataSet属性关联数据集。当应用程序使用了DataSet或者ADODataSet等组件时,可以使用RvDataSetConnection组件。RvDataSetConnection组件的常用属性、方法和事件如下。

DataSet属性:用于关联数据数据集组件,为报表提供数据源。

WriteBCDData方法:用于在OnGetRow事件中写BCD字段的内容,字段的值应当和在OnGetCols事件中定义的字段顺序一致,其语法定义为:FunctionWriteBCDData(FromatData:String;NativeData:Currency):String;其中FromatData参数定义了字段的格式,如果没有格式可以设置该参数为空。NativeData参数指定了应当包含未被修改的字段值的内容。

OnEOF事件:当Rave数据系统希望数据为EOF状态时

,就会触发OnEOF事件,其语法定义为:7/23/202416ProcedureOnEOF(Connection:RvCustomConnection;varEof:Boolean);

OnFirst事件:当Rave数据系统希望数据的光标定位到数据的第一行时,就会触发OnFirst事件,其语法定义为:ProcedureOnFirst(Connection:TRvCustomConnection);9.1.5RvQueryConnection组件

RvQueryConnection组件为Rave报表提供数据源,通过属性Query关联数据集。当应用程序中使用了Query组件时,可以使用RvQueryConnection组件。RvQueryConnection组件只有一个重要的属性:Query属性。Query属性用于关联数据集组件,为报表提供数据源。9.1.6RvTableConnection组件

RvTableConnection组件为Rave报表提供数据源,通过属性Table关联数据集。当应用程序中使用了Table组件时,可以使用RvTableConnection组件。RvTableConnection组件的常用属性、方法和事件如下。7/23/202417

Table属性:用于关联数据集组件,为报表提供数据源。在代码中指定数据源的方法为:RvTableConnection.Table:=Table1;

WriteBlobData方法:用于在OnGetRow事件中写BLOB字段的内容,字段的值应当和在OnGetCols事件中定义的字段顺序一致,其语法定义为:FunctionWriteBlobData(var:Buffer;Len:Longint):String;其中Buffer指定了缓冲的指针,Len表示长度。

OnNext事件:当Rave数据系统希望数据定位到下一行时,就会触发OnNext事件,其语法定义为:ProcedureOnNext(Connection:TRvCustomConnection);

OnGetRow事件:当Rave数据系统希望从当前行中获取数据时,就会触发OnGetRow事件,其语法定义为:ProcedureOnGetRow

(Connection:TRvCustomConnection);7/23/2024189.1.7RvRenderPreview组件

RvRenderPreview组件用于从RvNDRWriter组件获取文件,并把获得的文件发送到屏幕上进行预览。RvRenderPreview组件提供了许多的方法和事件允许程序开发人员创建一个完全定制的用户界面。以下是RvRenderPreview组件的两个常用属性。

MarginMethod属性:用于返回或者设置绘制预览页面边缘的方法,取值为mmFixed表示不管ZoomFactor值为多少,总是保持边缘的尺寸不变;取值为mmScaled表示边缘的尺寸会随着页面的缩放而缩放,保持相同的比例。

ZoomFactor属性:用于设置当前页面的缩放比例,100.0表示正常的尺寸,200.0表示大一倍,50.0表示缩小一半。9.1.8RvRenderPrinter组件

RvRenderPrinter组件用于从RvNDRWriter组件获取文件,并发送到打印机。RvRenderPrinter组件通常用于在预览窗口中执行打印操作。尽管RvRenderPrinter组件是一个简单的组件,但是提供了许多方法和属性定制打印。下面介绍RvRenderPrinter组件的常用属性、方法和事件。7/23/202419

IgnoreFileSettings属性:当该属性设置为True时,将忽略存储在报表中的打印机的设置值,并使用当前用户的设置值。

Abort方法:用于终止当前的打印任务,并设置Aborted属性为True。Abort方法将引起一个哑异常,并停止当前的执行线程。

OnPrint事件:在打印报表正文的时候被触发。要开始一个新的页面,可以调用NewPage方法。7/23/2024209.2通过RaveDesigner设计报表

Rave报表设计器是可视化的设计报表的工具,利用它可以快速设计出各式各样的报表。9.2.1报表设计器概述

RaveDesigner是一个所见即所得的报表集成开发环境,通过它提供的各种报表生成向导和报表设计组件可以方便地开发出满足实际需要的各种数据报表。RaveDesigner通过报表工程(ReportProject)对报表(Report)进行管理,一个报表工程可以包括多个报表,一个报表又可以包括多个报表页(ReportPage)。RaveDesigner中还提供了多种可用于报表设计的组件,以及报表生成向导(ReportWizards),使得开发人员可以更加方便的生成报表。在Delphi7主界面中单击【Tools】|【RaveDesigner】命令,或者在当前窗体中放置一个RvProject组件,然后双击该组件,都可以进入RaveDesigner的集成开发环境,主界面如图9-4所示。7/23/202421

图9-4RaveDesigner的主界面

7/23/202422

RaveDesigner的主界面有些像Delphi7,主要由菜单栏、工具栏、组件面板、属性编辑器、PageDesigner(页面设计器)、EventEditor(事件编辑器)和对象树视图组成。其中,左边的属性编辑器用于编辑当前选中对象的属性,PageDesigner用于设置报表的页面,在其中可以添加、删除和编辑组件。EventEditor用于编辑事件。最右边的对象树视图中列出了当前页面中所有的对象。

RaveDesigner的组件面板中包含各种组件和操作命令,下面对组件面板中的几个组件进行简单的介绍。l

Drawing页:该页中包含了各种绘图用的组件,如图9-5所示。图9-5Drawing页这些组件的使用只是为了增加页面的显示效果,Drawing页中各个组

7/23/202423

这些组件的使用只是为了增加页面的显示效果,Drawing页中各个组件从左到右依次为:Line绘制任意方向的线;HLine绘制水平方向的线;VLine绘制垂直方向的线;Rectangle绘制矩形;Square绘制正方形;Ellipse绘制椭圆;Circle绘制圆。l

BarCode页:用于设置报表不同类型的条形码,如图9-6所示。BarCode页中各个组件从左到右依次为:PostNetBarCode、I2of5BarCode、Code39BarCode、Code128BarCode、UPCBarCode和EANBarCode。图9-6BarCode页

Standard页:该页中包含了一些基本的报表组件,如图9-7所示。Standard页中各个组件从左到右依次为:Text、Memo、Section、Bitmap、MetaFile、FontMaster、PagNumInit。

7/23/202424图9-7Standard页l

Report页:该页中提供了用于报表控制,并显示特定的数据信息的组件,如图9-8所示。Report页中各个组件从左到右依次为:DataText、DataMemo、CalcText、DataMirrorSection、Region、Band、DataBand、DataCycle、CalcOp、CalcTotal和CalcController。

图9-8Report页7/23/202425l

Zoom页:用于放大或者缩小报表页面,如图9-9所示。其中可以通过下拉列表框选择合适的缩放比例。Zoom页中各个组件从左到右依次为:ZoomTool报表工具;ZoomIn放大;ZoomOut缩小;ZoomtoSelectedObject调整以适应选中的对象;ZoomtoPageWidth调整以适应页宽;ZoomtoWholePage调整以适应整页。图9-9Zoom页7/23/2024269.2.2报表向导下面通过一个具体的实例演示如何利用向导快速地创建一个简单的报表。第1步:运行Delphi7,新建一个应用程序。第2步:在窗体中添加一个ADOConnection组件,Name属性为ADOConnection1,LoginPrompt属性为False。设置ConnectionString属性,连接newworldhouse数据库(参照第1章内容)。设置Connected属性为True。

第3步:在窗体中添加一个ADOQuery组件,Name属性为ADOQuery1,设置Connection属性ADOConnection1,设置Active属性为True,执行SQL语句返回数据集,SQL属性为:select*fromjie_jiesanwherec_houloclike'14%',用于返回结算表中购房座落所属14区的数据信息。7/23/202427第4步:添加一个RvDataSetConnection组件,Name属性为RvDataSetConnection1。设置DataSet属性为ADOQuery1,用于指定数据集。第5步:添加一个RvProject组件,Name属性为RvProject1,双击RvProject1进入到RaveDesigner。单击【File】|【NewDataObject】命令,打开DataConnections对话框,选择创建对象的类型,如图9-10所示。

图9-10选择创建对象的类型图9-11选择活动的连接7/23/202428第6步:在DataConnections对话框中选择NewDataView选项,单击“”按钮,打开对话框选择活动的连接,如图9-11所示。当没有添加任何连接组件时,选择活动的连接时就没有被选内容。此时可以在创建一个NewDataView对象。第7步:选择RvDataSetConnection(DT)选项,单击“”按钮,创建DataView对象,如图9-12所示。第8步:在RaveDesigner集成开发环境中单击【Tools】|【ReportWizards】|【SampleTable】命令,打开SampleTable对话框,如图9-13所示。第9步:在SampleTable对话框中选择创建的数据视图,单击“”

按钮,打开界面选择显示字段的对话框,如图9-14所示。第10步:选择希望显示的字段,单击“”

按钮,打开如图9-15所示的对话框。该对话框用于调整字段出现的顺序。7/23/202429图9-12创建的DataView对象

图9-13SampleTable对话框第11步:单击“”

按钮,显示调整页面边距和报表标题的对话框,如图9-16所示。在ReportTitle中修改报表的标题为“结算报表”。7/23/202430图9-14选择显示字段

图9-15调整字段出现的顺序第12步:单击“”

按钮,打开选择报表字体的对话框,如图9-17所示。第13步:选择完报表字体后,单击“”按钮创建报表。创建完成后在PageDesigner中调整一下字段的位置即数据栏位置,以改进显示效果;接着修改数据标题的Text属性为中文形式,如图9-18所示,其中数据标题用于说明数据栏中每列数据表示的含义,在第一页的报表标题下面,在其它页位于报表页眉的下面。7/23/202431

第14步:选择【File】|【ExecuteReport】命令,打开OutputOptions对话框。OutputOptions对话框用于设置输入参数,设置完成后单击“

”按钮,即可看到报表预览的效果,如图9-19所示。图9-16调整页面边距和报表标题图9-17选择报表字体第15步:关闭预览窗口,选择【File】|【Save】命令,将工程文件保存在应用程序的目录中,命名为reportjiesan.rav。7/23/202432

图9-18调整报表格式

7/23/202433

第16步:返回Delphi集成开发环境,在窗口添加一个Button组件,Name属性为Button1,在OnClick事件中添加如下代码,用于在单击该按钮时打开报表文件。procedureTForm1.Button1Click(Sender:TObject);begin//为报表组件的ProjectFile属性指定一个设计好的报表文件

RvProject1.ProjectFile:=extractfilepath(application.ExeName)+'reportjiesan.rav';//然后运行报表,可以进行预览或者打印报表

RvProject1.Execute;//也可以使用ExecuteReport()方法

RvProject1.Close;//关闭报表end;

第17步:运行程序,单击Button1按钮可以打开OutputOptions对话框,如图9-20所示。在该对话框中可以选择预览或者打印报表。7/23/202434图9-19报表预览的效果

图9-20OutputOptions对话框通过上例可以看出,采用RaveReport5.0进行报表开发十分简单,只需要掌握报表设计过程中的几个要点即可以设计出满足各种实际需求的报表。注意使用RaveReport5.0报表生成向导进行报表开发时,一般情况下都需要对报表格式进行一定的调整以及对界面进行美化,如上例中对Text组件和DataText组件位置进行了调整、表头文字及标题文字的美化。

7/23/2024359.2.3添加计算字段手工制作报表

Delphi7中的RaveReport5.0是一个功能强大的报表集成开发环境,可以方便地开发出不同复杂程度的嵌套报表。下面举一个实例设计一类比较复杂但是又比较常用的嵌套报表,并将计算字段引入到报表中表达一些统计信息。利用RaveReport5.0开发嵌套报表主要用到了它的Region、Band和DataBand组件及其相应的支持机制。l

Region用于在报表页中指定一个操作区域,一个报表页中可以有多个Region即可分为多个区域,而且各个区域互不影响。l

Band和DataBand用于在一个Region中分出多个子区域(带),其中Band是一般的子区域,而DataBand则可以与数据集相关联,用于方便地生成显示数据集多条记录的数据报表。l

在各个子区域中,可以放置不同的Text、DataText等组件以生成报表的具体内容。7/23/202436

在SLMIS系统使用的数据库newworldhouse中,数据表hou_bahouse、con_conrelation和con_items数据表分别存放着房屋基本信息、合同联系单信息和合同明细信息,现在可以生成一个嵌套数据报表,它主要包括这样三部分:指定房屋信息、指定合同联系单信息和合计部分,开发过程如下。第1步:运行Delphi7,新建一个工程,在窗体中放置一个ADOConnection组件,Name属性为ADOConn,LoginPrompt属性为False(以免每次访问数据库时要输入口令和密码),

ConnectionString属性设置为连接到newworldhouse数据库;放置两个ADOQuery组件,Name属性为ADOQry1、ADOQry2,Connection属性都是ADOConn,ADOQry1的SQL属性如下,它表示访问14区房屋为可售状态的部分字段信息。selectc_houloc,c_type,c_use,c_shape,c_saleable,f_enarea,m_pricefromhou_bahousewherei_qu=14andc_saleable='可售'7/23/202437

ADOQry2的SQL属性如下,它表示访问14区的房屋在2004年3月份所开合同联系单的部分字段信息,由于在合同信息con_relation中无房屋座落信息,因此筛选条件要先从合同明细表中筛选出房屋座落为14区的合同号,并且合同号为2004年3月份的合同,最后从con_relation数据表选取部分字段信息。selectc_concode,c_people,f_area,d_jiaofangdatefromcon_relationwherec_concodein(selectc_concodefromcon_itemswherec_houloclike'14%')andc_concodelike'0403%'并且这两个ADOQuery组件的Active属性都设置为True。

放置两个RvDataSetConnection组件,Name属性分别为RvDataSetConn1、RvDataSetConn2,DataSet属性分别为ADOQry1、ADOQry2,用于为报表指定两个数据集。放置一个RvProject组件,Name属性为RvProject1,其中ProjectFile属性用于指定需要打开的报表工程文件,在程序中动态地进行管理。7/23/202438

最后放置一个Button组件,Name属性为Button1,Caption属性为“嵌套报表”,用于单击事件中运行由RvProject1的ProjectFile属性指定的报表工程文件。第2步:双击RvProject1组件进入到RaveReport5.0报表集成开发环境,为报表创建两个DirectDataView类型的数据视图,名称分别为DataView1和DataView1,对应的数据集分别为RvDataSetConn1和RvDataSetConn2,用于为报表提供两个不同的数据源。第3步:在RaveReport5.0集成开发环境中往报表页(ReportPage)中分别放置以下组件完成嵌套报表的开发,其界面布局如图9-21所示。第4步:放置一个Region组件(位于【Report】组件面板),Name属性为Region1,调整它的位置和大小,使其布满报表页并且留有合适的页边距。第5步:设计表头:在Region1上面放置一个Band组件(位于【Report】组件面板),Name属性为Band1,然后在Band1上面放置一个Text组件(位于【Standard】组件面板),

它的Text属性为“嵌套报表设计”,调整它的位置和字体,使得界面美观。7/23/202439图9-21界面布局7/23/202440

第6步:设计指定房屋基本信息报表:在Band1中依次放置九个Text组件,它们的Text属性分别为:“房屋基本信息”、“购房座落”、“房型”、“用途”、“户型”、“销售状态”、“建筑面积”、“单价”。同时调整它们的位置和字体。在Region1上面放置一个DataBand组件,Name属性为DataBand1,DataView属性为DataView1。完成上面的操作后,再在DataBand1依次放置八个DataText组件,它们的DataView属性都是DataView1,DataField属性依次为:c_houloc、c_type、c_use、c_shape、c_saleable、f_enarea、m_price,同时调整它们的位置和字体。第7步:设计合同联系单报表:首先在Region1上面放置一个Band组件,Name属性为Band2,然后在Band2中放置五个Text组件,它们的Text属性分别为:“合同联系单信息”、“合同号”、“个人/法人”、“合同建筑面积”、“交房时间”。在Region1上面放置一个DataBand组件,Name属性为DataBand2,DataView属性为DataView2。并且在DataBand2上面放置四个DataText组件,它们的DataView属性都是DataView2,DataField属性依次为:c_concode、c_people、f_area、d_jiaofangdate,同时调整它们的位置和字体。

7/23/202441第8步:设计报表合计部分:在Region1中放置一个Band组件,Name属性为Band3,然后在Band3上面放置相关的Text组件并将其Text属性赋值为有关的提示信息。放置两个CalcText组件,分别用于统计满足条件的房屋座落和合同联系单信息数,它们的Controller属性分别为DataBand1和DataBand2,DataView属性与它们的Controller的DataView属性相对应,分别为DataV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论