FastReport报表功能详解

一、常用控件

        1、文本框:输入文字或者表达式。

        2、表格:新增表格,可以设置表格的行列数,输入数字或表达式。

        3、子报表:新增子报表后,系统会自动新增一个页面,可以在此页面上设计所需要的

                        报表,系统在打印的时候,先打印主报表,当遇到子报表时自动进入到子页面进行

                        打 印,完成后继续打印主报表,所以又称为嵌套报表。

        4、复选框:根据布尔表达式来显示是否,例如:男女。

        5、条形码:绑定扫描码,例如:病人的输液单,一般Type为Code128 。

        6、页面设置:设置纸张大小及页边距。

        7、边框设置:设置是否显示上下左右边框以及边框线条的设置。

        8、边框宽度:下拉三角可以选择边框宽度设置

二、常用报表栏:

        1、报表标题区(ReportTitle):仅显示在第一页纸张的上部。用于打印报表的标题等信息。

        2、报表合计(ReprotSummary):仅显示在所有数据的最后末尾。一般用于打印统计信息等。

        3、页眉(PageHeader):显示在每页的最上部。通过设置你可以让它置于报表抬头之上或者之 下。一般用于打印页眉信息等。

        4、数据区(data):绑定数据源显示数据。

        5、数据首(Header):显示在所有数据源的最上部,仅打印一次。一般用于显示相关摘要信息,与页眉的区别是当该页无数据时,数据首的内容不显示且仅显示一次。

        6、数据尾(Footer):显示在所有数据源的最下部,仅打印一次。一般用于显示所有数据的合计信息。

        7、栏首(ColumnHeader):显示在每页数据源的上部,它在每页均显示。因此一般用于打印数据源字段的栏目信息。

        8、栏尾(ColumnHeader):显示在每页数据源的下部,它在每页均显示。一般可用于统计显示每页数据的页合计信息。

        9、分组页眉(GroupHeader):用于显示分组数据,在每一个分组开始显示。

        10、分组页脚(GroupFooter):与群组首一一对应。一般用于显示分组数据的统计信息。

        11、页脚(PageFooter):显示在每页的最底部。一般用于打印页序等信息。

三、常用功能

        1、添加报表栏

将光标置于“设置报表拦”弹出“段编辑器”,再选择添加或删除段。

添加段的时候要注意:

(1)、选择添加段的位置,如想添加子数据区,则选中要添加父数据区,点击添加“数据区”即可,如图所示:

(2)、若添加的数据区与原数据区平级,任选段(除数据区外),点击添加“数据区”即可,如图:

 

2、添加数据源

选择菜单栏的“数据”,在下拉框中选中“选择数据源”,弹出“选择报表数据”框,里面会列出已经传出的数据源,勾选需要的数据源,点击确定,此时界面右边“数据”列表中即显示当前所选中的数据源,选中数据源,右键选择“查看数据”,即可显示当前数据源中所含有的数据:

3、添加系统变量

对于部分变量可能取自当前系统,如时间,页码,序号等,此时选择系统变量中相应的变量即可,如图:

4、添加汇总

对于一些报表,需要在数据尾添加合计行,此时需要手动添加合计,弹出汇总项编辑器,再在汇总项编辑器中添加汇总数据源。

在汇总名称一栏可以自命名一个合计名称; 

在“数据列或公式”中可以选择汇总的数据源;

在“计算段中每一列”可以选择参与汇总的数据区;

在“计算满足下面条件的行”中可以做过滤,在写total时会出现计算某种类型的和,比如计算总人次分在职和退休之和,此时在写total时就需要写限制条件进行过滤。如[Table1.GRXZ]=="1";如图:

5、添加过滤、排序、分组

双击数据区,弹出“编辑数据段”,可以进行数据源的选择、排序、过滤。如图:

四、常用属性

1、页面设置

用于显示总的页数(TotalPages),例如:页脚显示 第1页/共20页。系统第一遍扫描报表时计算出TotalPages,然后第二遍实际 生成报表。如果不使用Double pass,则TotalPages返回0,所以必须设置report的属性doublepass为true;

设置方法:点击报表树,单击报表树最顶端图标,点击属性,选择doublepass为true;也可直接在属性框中选择report,进行相关属性设置!如图:

                                

 2、打印设置

对于套打模板,样式在纸张上已经固定了(如处方笺、收费发票),只需要按照原定的样张将数据填充进去,在绘制的时候,需要用直尺良好尺寸,为了能够有一个更好的效果,一般把页面上已经存在不需要再打印出来的也画出来,但是需要设置属性“printable”为false:表示打印不显示,若想在预览的时候就不要看到那些不需要打印的,则需设置属性“Visible”为false:表示预览不显示。

3、格式设置

报表中有的数据需要按照规定的格式去显示,如需要把时间的格式改变一下,选中当前数据,右键单击,点击format(或在属性栏中选择 format),在弹出的选择格式框中选择需要的格式。若format中没有需要的格式,则需要在custom中自定义,比如我需要把时间设置为 2012-09-09 11:22:23,此时可以在custom中填时间显示格式:yyyy-MM-dd HH:mm:ss。注意有的需要显示上午还是 下午,表示上午下午的格式是tt,具体相关设置可以参照已存在的format进行编辑!

4、显示设置

对于有些数据,名称较长,在行高固定的情况下,系统默认为自动换行,此时两者均不能完全显示不能完全显示,比如,此时按照客户的需求,若要求自动截断,则设置“WordWrap”为false(即不自动换行),若要求全部显示,则需要让该数据有按照单元格大小自动缩放功能,设置属性“AutoShrink”为fontsize或者fontwith。

5、边框设置

边框可以通过工具栏设置,此时设置边框是根据外界框的大小来显示,下边框的设置也可以通过设置下划线,此时下边框的长度是根据数据显示的长度来决定,还可以设置属性“underline”为true,此时也是根据边框的大小来显示的。

6、表格设置

1)表格的行列数:通过属性设置ColumnCount(列)和RowCount(行)设置。

2)合并/分割单元格:选中需要合并/分割的单元格,右键单击,选择“合并单元格”/“分割单元格”,如图:                                      

 

3)插入行列:选中某行、某列,右键单击,选择需要插入的位置,如图:                      

五、常用代码

1、在文本编辑器中编写

Fastreport软件自身带了很多功能实现数据的转换,直接在编辑框中即可实现。      

 

常用的功能有:              

                                        

选择语句IFF;控制语句Switch;

                             

截取字符串语句SubString,在text列表中选择SubString

                                 

截取时间语句Date&Time:

                                         

算数运算语句Mathematical:常用的有Abs(取绝对值)。

注意,在运用这些function的时候,在文本编辑器右下角会显示当前功能的用法规则,如图:

若当前数据类型不满足规则,则需要利用上面的转换语句,将其转换成与规则相符的数据类型,才能利用这些function,否则会报错。

特殊功能汇总

一.打印中实现空表格填满剩余的空行,达到指定的行数。

1.单页显示指定行数

为了能让数据在未填满的前提下,该页也能显示指定的行数N,需要在数据区(data)添加子报表(child),且需要设置其属性最少数据行(CompleteToNRows)为N。

 

2.按照数据行数显示指定行数

按照1的设置,预览的时候会发现该操作只会控制首页满足条件,当数据的行数超过一页时,后面页均按照有多少数据显示多少行,此时需要写代码控制。

如:

private void PageHeader1_AfterPrint(object sender, EventArgs e)

{      if (Engine.FinalPass)

      {

        Child1.CompleteToNRows = ((Int32)Report.GetVariableValue("TotalPages")) * 20;

      }//按照总页数*20来控制CompleteToNRows。

}

此时报表拦中的child区CompleteToNRows设置为1,如图:

二、本页合计和本期合计

1.本页合计

在每页均会显示,且统计当前页相关数据的和。此时勾选“打印后重置”项,再将合计项移到相应的位置即可。如图:

 

2、本期小计

在每页均会显示,但是指在数据的最后一页显示合计的数据,统计当前报表的所有数据和;需要写total来计算当前值,只是本期小计中打印后重置这个属性不勾选,由于本期小计只在最后一页显示数据,其他页面上数据区均为空,需要代码控制,例如:

private void ColumnFooter1_BeforePrint(object sender, EventArgs e)

    {

      if(((Int32)Report.GetVariableValue("Page"))!= ((Int32)Report.GetVariableValue("TotalPages")))//设置显示本期小计需要的条件,即当前页与总页数相 一致的时候,开始显示数据,否则为空。

 

 

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。
FastReport报表文件修改器是一种用于修改FastReport报表文件的工具。FastReport是一款功能强大的报表生成工具,它可以用来创建、设计和预览各种类型的报表。然而,在某些情况下,我们可能需要对已有的FastReport报表文件进行修改。 FastReport报表文件修改器提供了一种简单、快速且方便的方法来修改报表文件。它允许我们对报表文件中的各个元素进行编辑,包括报表的结构、布局和样式等。我们可以添加、删除或修改报表的数据源、数据字段和参数等信息,以满足不同的报表需求。 除了修改报表的结构和数据,FastReport报表文件修改器还支持修改报表的样式和外观。我们可以更改报表的标题、页眉、页脚、表格、图表和文字等元素的风格和格式。同时,还可以对报表进行排序、过滤和分组等操作,以实现更灵活和个性化的报表展示。 FastReport报表文件修改器的操作简单易懂,界面友好,即使对于没有编程经验的用户来说,也可以轻松上手。通过它,我们可以快速完成对报表文件的修改,提高工作效率,并且能够生成符合我们需求的专业报表。 总而言之,FastReport报表文件修改器是一款功能强大、操作简便的工具,适用于各种报表修改需求。它能够帮助我们快速完成对FastReport报表文件的编辑,提升工作效率,满足个性化的报表需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值