Rave 报表入门

来源:互联网 发布:网络流行语英语怎么说 编辑:程序博客网 时间:2024/05/21 12:43

 Delphi 7.0 中实现报表的方法称为 RaveRave 报表是一种基于组件的可视化报表设计工具,使用它可以简化设计过程,提高设计效率。只要将 Rave 报表组件添加到应用程序中后,就可以创建各种类型的报表。本文将以 ADO 组件连接数据库,向读者介绍怎样利用 Rave Report5.0 快速设计报表。

    
还是赶快行动起来,体验一下 Rave Reports 的强大功能吧!

    1.
准备好范例数据库,笔者使用 Access 建立数据库Student.mdb,创建一个表:StuInf(学生基本信息),包含Sno(学号),Sname(姓名),Sex(性别),Class(班级),Birthday(出生日期)... 等字段,所有字段名先使用括号中的中文;再写入几条数据备用。
    2.
启动 Delphi7.0 建立一个工程,在窗体上放置一个 ADOQuery 控件,设置其ConnectionString 属性,连接数据库 Student,设置 SQL 属性为“select * from StuInfActive 属性为 True 。为了能看到库中的数据,再往窗体上放置一个DBGrid 和一个 DataSource ,设置相关属性,使 DBGrid 中显示数据。
    3.
在窗体上添加一个 GroupBox,设置其 Caption 选择报表式样;往其中添加两个 RadioButton Caption 分别为条列形式表格形式;往窗体上添加一个按钮,Caption 显示报表
    
    
现在,准备工作已经完成了,保存工程,下面开始报表的设计。

    4.
在窗体上添加一个RvDataSetConnection组件,设置其DataSetADOQuery1,这样,就提供了 Rave 报表与数据源之间的连接。
    5.
 Delphi 主菜单的 Tools 中选择 RaveDesigner 启动 Rave Reports5.0

    
我们可以看到,报表设计器的界面与Delphi非常像,左上角是各种工具栏按钮,右上方是组件面板,左侧是属性窗,右侧是项目管理窗,中间则是可视化的设计窗。利用它设计报表完全是可视化的,通常在它的组件面板上直接将报表界面组件托放到中间的设计窗上,能在左侧的属性窗口中设置这些界面组件的属性,从而改变它的外
观,设置完后还可以打印御览。
    
我们在系统自动生成的报表页上放置一个Text Component(Standard面板上),可以随意拖动,改变它的位置。右键单击它,弹出菜单,点击cut,copy,delete 等按钮,好像都不起作用!在右侧项目管理窗中右键单击控件的名字,竟然不会弹出菜单!这一点与 Delphi 相比可是太不方便了!我们必须使用键盘快捷键才能实现上述操作。
    
在利用报表设计器创建报表的时候,首先需要创建数据视图,然后基于所创建的数据视图设计报表,下面就来创建数据视图。

    6.
选择[File/New Data Object]菜单项,在系统弹出的对话框中选择 Direct Data View ,点击 Next,然后选中 RvDataSetConnection1(DT),点击Finish

    
是不是这样就搞定了呢?谁知系统弹出错误消息框,“ A component named DataView1 alreadly exists.” 明明没有创建 DataView1,为什么说 DataView1已经存在呢?笔者经过几次试验,终于找到了问题之所在。还记得我们使用的数据表吗?所有字段都是中文的,请试者将刚刚创建失败的 DataView1 Name 属性改成
随意的汉字,又将得到错误消息框,”name” is not a valid component name.看来,在由 Rave Reports创建的视图和其所有字段名中使用汉字是不合法的。因此系统在创建视图遇到不合法字段时,自动将其名称定为DataView1,当数据表中有多个字段时,名称都是 DataView1,当然会提示它已经存在了。
    
好了,删除已经创建的 DataView1,把 StuInf 表中所有的字段都改成英文的,重复第6步,一切搞定!在项目管理窗中点击 DataView1左侧的”+”,将会看到所有的字段,只是在原字段名前都加上了“DataView1”,即DataView1Sno,DataView1Sname等等,当然,你还可以修改它们的 Name 属性。

    
数据视图已经创建成功,下面开始报表界面的设计。先来设计行式显示的报表。

    7.
新建一个报表页,选择 Zoom 面板,点最右边的一个按钮以看到整个报表页,这样有利于设计。
    8.
在页面的上方放置一个 Text 组件,点其 Font 属性,设置字体样式,再将其 Text 属性置为 ”学生基本信息”,作为表头。
    9.
 Report 面板,放一个 Region 组件到报表页上,调整其大小和位置。
    10.
 Region 上放一个 Band 组件,在 Band 上放一个 Text 组件,设置其Text 属性为学号。再放置几个 Text,设置它们的 Text 属性分别为其他几个字段的中文名称,适当调整它们的位置,不要超出 Band1 的白色区域。
    11.
 Report 面板上选 DataBand 放到 Region 上,设置其 DataView 属性为 DataView1
    12.
 DataBand 上放一个 DataText 组件,设置其 DataView 属性为DataView1DataField 属性为 Sno;再往 DataBand 上放几个 DataText 组件,设置它们 DataView 属性为 DataView1DataField 属性分别为剩下的几个字段。调整它们的位置,不要超出 DataBand1 的白色区域。
   
    
点工具栏按钮上的 Execute Report,看看刚刚设计出的报表怎么样吧!如果不满意,继续调整各个控件的位置和字体,直到满意为止,保存文件,命名为 Rave1.我们再来设计表格形式的报表,这次就简单的多了!

    13.
重复789611步骤,选择 Drawing 面板,这里的组件是专门用来绘制各种图形的。调整 DataBand 的大小,选择合适的组件,在 DataBand 上绘制你想要的图形,调整它们的布局,与 1012 步一样的道理,添加各种组件并设置其相关属性,御览报表,直到满意时保存文件,命名为 Rave2.

    
接下来,我们往主程序中添加代码。


    
在窗体上添加一个 RvProject 组件,在 Button1  On Click 事件中加入以下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
 Try
   if RadioButton1.Checked then
     begin
       RvProject1.Close;
       RvProject1.ProjectFile:=’Rave1.rav’;
       RvProject1.Open;
       RvProject1.Execute;
     end
   else if RadioButton2.Checked then
     begin
       RvProject1.Close;
       RvProject1.ProjectFile:=’Rave2.rav’;
       RvProject1.Open;
       RvProject1.Execute;
     end
   else
     ShowMessage(’
请选择报表式样 ’);
 Except
   Exit;
 End;
end; 

   
 Form1  OnCloseQuery 事件中添加代码:RvProject1.Close; 调用RvProject  Open 方法后,必须调用 Close 方法关闭报表项目文件,并从内存中卸载。

   
   
好了,保存工程,运行程序看看效果如何吧,是不是很酷呀?看来,制作报表也不是什么困难的事。到这儿,相信读者在报表制作上已经入门了,其实 Rave Reports 5.0 的功能远不止这些,利用它,可以实现许多功能,比如带字回绕,图形化,精确页面位置控制等等,掌握它,可以制作出漂亮,复杂,高度个性化的报表,这些就留给读者自己探索吧。

   
注意事项:
   1.
数据表要使用英文字段;
   2.Text 
 DataText 不能自动换行,若数据太长,使用 Memo  DataMemo组件。

原创粉丝点击