Delphi 7 中使用RAVE报表(五)

Delphi 7 中使用RAVE报表(五)

                                              ——和数据库连接的报表



          以access数据库为例,先新建一个数据库,建立一张表包括的字段为:{[name]、[sex]、[age]、[province]},添加数据,当然不要太少了。
     首先,我们不考虑Delphi程序的调用,打开rave新建一个report;
     1.[File]àNew Data Objectà选择Use Connection String。选择[Microsoft Jet 4.0 OLE DB Provider],选择保存的数据库的位置并测试连接成功。[ok]后,看到报表设计导航区的Data View Dictionary增加了Database1;
     2.[File]àNew Data Object Driver Data View 选择Database1 [Finish] 弹出Query Advenced Designr,将Query Advenced Designr的Tables栏的数据表拖放到layout中à[ok]à看到报表设计导航区的Data View Dictionary增加了DriveDataView1,扩展后可以看到数据字段;
     3.选[Tools]àReport WizardsàSingle Table 选DriveDataView1,选择数据库字段Report Title改为“个人情况报表”。好了之后,可以看到在page中生成了报表。
     4.按[F9]或者快捷按钮[Execute Report],你就可以看到连接到数据库的报表了,rave报表根据数据量的多少自动分页。根据需要更改格式,再预览,直到是你所想要的报表格式。



     这时候就很简单的完成了一张报表,当然有些人也许很看到这样设计出来的报表的标题在报表的第一页显示了后,在其他页并没有显示。
     怎么样让标题在每一页显示呢?
     选到TitleBand,在设置BandStyle在Print Occurrence把New page打勾选中,这样在预览你就会发现,这时生成的报表每一页都会有标题。

     当然,我们的报表时用程序调用的,那么我们在delphi中来设计连接数据库的报表。
     1.新建工程,在窗体上放置以下组件:RvProject,RvSystem,RvDataSetConnection,ADOConnection,ADOTable,DataSource,Button,DBGrid。设置相应的数据库连接可以看到在DBGrid中显示了数据,具体的设置在这里不进行讲解了,请参考相应的数据库书。RvSystem1的Engine为RvSystem1,RvProjectFile选择保存了的为*.Rav文件。RvDataSetConnection1的DataSet属性设置为:ADOTable1。 



     2.打开Rave设计器打开*.Rav文件。
     3.[File]àNew Data ObjectàDirect Data Viewà选择RvDataSetConnection1,[Finish]看到报表设计导航区的Data View Dictionary增加了DataView1,扩展后可以看到数据字段;
     4.利用前例步骤3,同样的方法,进行报表的可视化设计。在可视化设计时,注意看生成的简单数据库代码的组成部分,注意TitleBand,DataBand, Band的属性设置。当然我们也可以不用Report Wizards自动生成也可以自己来根据需要直接做报表。步骤是:
      1)添加组件页的Region组件,来描述报表的范围。
      2)添加Band,Band, DataBand组件,设置相应的BandStyle 和Dataview属性。
      3)在DataBand中添加,DataText选择其Dataview属性和DataFile属性。
      4)预览即可,如果不能正常显示,注意查看属性的设置,尤其是Dataview属性,同时可以与Report Wizards自动生成的报表进行对比。

     5.添加如下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
    RvProject1.Open ;
    RvProject1.ExecuteReport('Report1');
    RvProject1.Close ;
end;

     6.运行后,点击[确定]按钮,既显示报表设置窗体,确定后可以看到你想要得窗体。

关于和数据库连接报表的一些问题:

   1)上面的例子是直接从数据库输出的报表,如果要输出的报表是根据用户的条件输出,怎么办?
    如果是要根据用户的条件输出相应的报表,使用Query组件,当然要是涉及到存储过程的操作,也是一样的阿。选择相应的数据库访问组件,将RvDataSetConnection的Dataset属性连接到数据库访问组件即可。
   2)我在数据库表中的字段是中文的,在Rave中连接数据库,DataView不能显示我的字段,并且提示“DataView1已经存在!” ,怎么办?
    出现这样的问题主要是DataView1的name属性不支持中文名,而不能根据数据段名来命名,你将DataView1更改为相应的英文名,更改Fieldname为响应的字段中文,刷新DataView,还会有提示,同样更改name和Fieldname属性,直到你要的字段都更改好为止。
   3)默认的报表时竖排的,怎么样才能将页面设置为横向的?
    关于页面的设置请注意熟悉RvSystem的属性。
    RvSystem1.SystemPrinter.Orientation :=poLandScape; //页面为横向的
    RvSystem1.SystemPreview.FormState := wsMaximized; //预览窗体最大化
    RvSystem1.SystemPreview.MarginPercent :=3; //报表页面据预览窗体的边距。
   当然还有很多的设置TitleSetup,TitleStatus,TitlePreview属性可以将你的报表设置,报表预览的窗体的标题改为你想要的。当然我们最基本的是要改为中文的阿。关于怎么让你的报表预览,报表设置窗体为中文的我在后面会专门介绍。


                                                                                        (ps:转载请注明作者--高速公路上的鱼(cyq))
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
你可以在VCL或CLX应用程序使用Rave Reports去实现来自数据库或非数据库数据的报表.下面的过程说明 怎样增加一个简单的报表到已存在的数据库应用程序. 1.在Delphi打开一个数据库应用程序. 2.从组件面板的Rave页,假如TRvDataSetConnection组件到应用程序的表单. 3.在Object Inspector,设置DataSet的属性为一个已在你的应用程序定义的dataset组件.使用Rave Visual Designer 4.去设计你的报表然后并创建一个report project文件(.rav file). 选择Tools|Rave Designer运行Rave Visual Designer. 选择File|New Data Object显示Data Connections对话框. 在Data Object Type列表,选择Direct Data View然后单击Next. 在Active Data Connections列表,选择RVDataSetConnection1然后单击Finish. 在Rave Visual Designer窗口左边的Project Tree,展开Data View Dictionary结点,燃后展开刚创建的DataView1结点. 你要使用的数据字段显示在DataView1结点下. 选择Tools|Report Wizards|Simple Table显示Simple Table wizard. 选择DataView1然后单击Next. 选择你想要在这个报表显示的两个或三个字段然后单击Next. 按照随后的向导页提示区设置要在这个报表使用的字段的排序, 页边距,首部文本,以及字体. 在最后向导页上,单击Generate完成这个向导然后在页面设计器显示报表. 选择File|Save as显示Save As对话框. 把Rave project存到你的Delphi应用程序的目录下并命名为MyRave.rav. 最小化Rave Visual Designer窗口返回Delphi. 5.从组件面板的Rave页,添加一个项目组件TRvProject到表单. 6.在Object Inspector,设置ProjectFile属性为刚才创建的report project文件(MyRave.rav). 7.从组件面板的Standard页,添加TButton到表单. 8.在Object Inspector,单击Events标签然后双击OnClick事件. 9.在事件处理程序使用ExecuteReport方法去执行Rave project组件. 10.按F9运行应用程序. 11.单击在第七步添加的按钮. 12.Output Options对话框被显示出来,单击OK显示报表.
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值