FastReport.Net 常用功能总汇

FastReport.Net 常用功能总汇

一.常用控件

文本框:输入文字或表达式

表格:设置表格的行列数,输入数字或表达式

子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表。系统在打印处理时,先按主报表打印,当碰到子报表时会自动转入子报表的页面进 行打印处理,完成后继续执行主报表打印的工作,所以我们又称之为嵌套报表。

复选框:根据布尔表达式是否为ture来显示是否 √(如性别男女)

条形码:绑定扫描码(如静滴单),一般Type为Code128

交叉表:Matrix

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

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

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

二.常用报表栏

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

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

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

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

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

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

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

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

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

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

页脚(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,否则会报错。

2.在code区编写

有些数据的转换在编辑器中不能直接实现,需要在code区域编写代码。写代码之前需要定义到相应的事件上:选中需要写代码的数据所在的报表拦,在属性设置中点击,在事件中双击需要用到的事件,自动跳转到code区,且会出现一行代码,类似于private void GroupHeader1_BeforePrint(object sender, EventArgs e)

{

}

报表中常用事件有BeforePrint,AfterPrint。

3.常用代码

1)Data1.InitDataSource();//数据初始化,用于数据跑两遍

2)有的需要把年月日进行分离显示,此时需要选取时间并选择只显示时间的某部分,比如某个DateTime2类型的参数值为20120919,现需 要将其年月日分开,分别以__年__月__日显示,需要利用fastreport提供的功能进行分离,即1中的方法,但是注意此种方法只能用于数据类型为 datetime的数据;对于非datetime型的数据,可以写代码取位数或者进行强制转换,以string为例:

private void ColumnFooter1_BeforePrint(object sender, EventArgs e)

{

string tbrq= ((String)Report.GetColumnValue("Table1.TBRQ"));

if (!String.IsNullOrEmpty(tbrq))

{

Text9.Text = tbrq.Substring(0,4) + "年" + tbrq.Substring(4,2) + "月"+tbrq.Substring(6,2)+"日";

}//字符串型用SubString,Substring(0,4)表示从第0位开始,取出四位作为年。

3)小数位的控制:可以用format对所有数据的小数位进行控制,但只对于数值型的数据才有效,但是对于string型的则需要用语句进行实现,如:

decimal sl= ((Decimal)Report.GetColumnValue("dtfee.Quantity");

Cell51.Text=sl.ToString("0.00");// "0.00"若不填则按照默认值显示,后面多少个零显示出来的数据即为有 多少个小数;对于数量,有时要求要求有小数时则显示小数,无小数时则显示整数,此时只需要将"0.00"改为"0.##"即可,##的个数也是可以自定义 的,表示显示的最多的小数位。

特殊功能汇总

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

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.本页合计

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








FastReport 6.6.17 Enterprise Source Code for Delphi7 and Delphi27 (10.4 Sydney) FastReport Package Simplification Management Toolkit by xander.xiao@gmail.com, version 2.0, 2020-5-27 What is Package simplification management ? As Fastreport include a stack of design package files, it is boring to install these packages manually, we need a easy way to work out it, here is my solution which may apply to any package management besides Fastreport: My solution, in a brief, copy all files of all packages in one folder which is named by a Environment varible %ProjectHome% which has following structure: %ProjectHome%\Bin for all BPL files of all packages, runtime and design time files %ProjectHome%\LibD7 for Delphi 7 Compiled unit files and resource files (dcu,dcp,dfm,res etc.) %ProjectHome%\LibD26 for Delphi XE 10 Rio Compiled unit files and resource files (dcu,dcp,dfm,res etc.) Each Delphi version related folder may have platform (Win32,Win64 etc.) and configuration (release or debug) specified subfolders. after that, double click REG files to import Delphi known design time packages. This toolkit include two sets: 1. Resource translation, this function is provided by res\FR4Trans.exe, res\frccEx.exe and res\Chinese\@Deploy.bat, besides Chinese it can work with any language 2. Package simplification management, it is functioned by @DelUnUsedFiles.bat,@Deploy.bat,@BuildAllPackages.bat and REG files in quickInstall folder All source code included, you can modified freely. Usage: step0: Make a backup of your fastreport source code, then copy all files in this folder to FastReport home folder. Step1: Execute recompile.exe to generate specified version related folder and files (Recompile all package first, then Change Language to Chinese or othor one). step2: Execute @DelUnUsedFiles.bat to delete unused files in the folder which step1 generated. step3: Execute @Deploy.bat to deploy all files to the project home folder. step4: Double Click reg files in quickInstall folder to install design time BPLs in Delphi IDE, here assume that your ProjectHome is D:\Projects, you may change it. step5: optional, Instead of "recompile.exe-Recompile all package", Execute customized @BuildAllPackages.bat to recompile all package files if you modified any file in the folder which step1 generated. Step6: optional, Instead of "recompile.exe-Change Language to", Execute res\chinese\@deploy.bat if you need very formated Chinese resource code files, before this, you can Execute res\FR4Trans.exe to do translating in your prefered way, you may copy res\chinese\@deploy.bat to othor language folder.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值