fastreport .net入门教程之交叉报表

合集下载

FastReport报表模板设置

FastReport报表模板设置

FastReport报表模板设置FastReport 报表模板设置1. 模板的创建打开报表菜单,在⼯具栏的“报表模板”选项中选择空值,点击“设计”按钮,打开报表设计界⾯,如图1-1图 1-1如图1-2,选择所需控件:双击或拖动到“模板样式”中,控件位于“”中Page Header :页⾯页眉Page Footer :页⾯页脚Master Data :绑定列表数据Header: 报表的页眉Footer :报表的页脚Group Header :分组页眉Group Footer :分组页脚标签控件,绑定数据请⽤[表名."字段"] 图⽚控件:绑定图⽚,控件栏属性模板样式字段列表字体与对齐⽅式2.模板的编辑打开报表菜单,在⼯具栏的“报表模板”选项中选择需要更改的模板,点击“设计按钮”。

打开报表设计界⾯。

对报表进⾏更改后,保存⽂件。

3.页眉与页尾将控件Page Header、Page Footer、Header、Footer来拖到指定的位置,双击控件,输⼊页眉或页尾的内容,单击“OK”保存。

4.绑定列表数据Master Data控件⽤于绑定数据源中每⼀条数据明细,单击Master Data控件,将控件添加到页⾯上,在右边的字段列表中将需要的字段拖到Master Data中对应的位置,也可以使⽤控件绑定数据,绑定格式为“[表名.”字段名”]”,双击已添加的字段列表,如果需要其设置内容的格式,如图4-2,选择“Format”选项卡:Text为字符;Number为数字类型,类型为Number时,在“Format”中设置数字的类型(如⼩数位,货币⼩数等);Date/Time 为⽇期类型,在“Format”中设置⽇期的显⽰类型;Boolean为布尔类型的,在“Format”中设置布尔类型的显⽰类型。

当出现空值显⽰为0的情况,请点击右键,选择”Hide Zeros”前的勾选框图4-2其它属性可在“字体与对齐⽅式”中及”属性”中设置⽤于设置控件内容的字体。

FastReport打印模板制作手册

FastReport打印模板制作手册
栏尾(ColumnHeader):显示在每页数据源的下部,它在每页均显示。一样可用于统计显示每页数据的页合计信息。
分组页眉(GroupHeader):用于显示分组数据,在每一个分组开始显示。
分组页脚(GroupFooter):与群组首一一对应。一样用于显示分组数据的统计信息。
页脚(PageFooter):显示在每页的最底部。一样用于打印页序等信息。
在“数据列或公式”中能够选择汇总的数据源;
在“计算段中每一列”能够选择参与汇总的数据区;
在“计算知足下面条件的行”中能够做过滤,在写total时会显现计算某种类型的和,比如计算总人次分在职和退休之和,现在在写total时就需要写限制条件进行过滤。如[]=="1";如图:
在段上打印指汇总的数据在哪个报表拦上显示;
数据区(data):绑定数据源显示数据。
数据首(Header):显示在所有数据源的最上部,仅打印一次。一样用于显示相关摘要信息,与页眉的区别是当该页无数据时,数据首的内容不显示且仅显示一次。
数据尾(Footer):显示在所有数据源的最下部,仅打印一次。一样用于显示所有数据的合计信息。
栏首(ColumnHeader):显示在每页数据源的上部,它在每页均显示。因此一样用于打印数据源字段的栏目信息。
3.
关于部份变量可能取自当前系统,如时刻,页码,序号等,现在选择系统变量中相应的变量即可,如图:
4.
关于一些报表,需要在数据尾添加合计行,现在需要手动添加合计,弹出汇总项编辑器,再在汇总项编辑器中添加汇总数据源。
在汇总名称一栏能够自命名一个合计名称;
“公式”一栏中能够选择汇总的类型,经常使用的为合计:
选项中列举的复选框能够依照报表&单据要求进行选择;

FastReport打印模板制作手册

FastReport打印模板制作手册

FastReport打印模板制作手册常用功能汇总一.常用控件文本框:输入文字或表达式表格:设置表格的行列数,输入数字或表达式子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表。

系统在打印处理时,先按主报表打印,当碰到子报表时会自动转入子报表的页面进行打印处理,完成后继续执行主报表打印的工作,所以我们又称之为嵌套报表。

复选框:根据布尔表达式是否为ture来显示是否√(如性别男女)条形码:绑定扫描码(如静滴单),一般Type为Code128交叉表:Matrix页面设置:设置纸张大小及页边距边框设置:设置是否显示上下左右边框以及边框线条的设置边框宽度:下拉三角可以选择边框宽度设置边框样式设置:下拉三角可以选择边框样式设置二.常用报表栏报表标题区(ReportTitle):仅在第一页显示在纸张的上部。

一般用于打印报表的标题等信息。

报表合计(ReprotSummary):仅显示在所有数据的最后末尾。

一般用于打印统计信息等。

页眉(PageHeader):显示在每页的最上部。

通过设置你可以让它置于报表抬头之上或者之下。

一般用于打印页眉信息等。

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

数据首(Header):显示在所有数据源的最上部,仅打印一次。

一般用于显示相关摘要信息,与页眉的区别是当该页无数据时,数据首的内容不显示且仅显示一次。

数据尾(Footer):显示在所有数据源的最下部,仅打印一次。

一般用于显示所有数据的合计信息。

栏首(ColumnHeader):显示在每页数据源的上部,它在每页均显示。

因此一般用于打印数据源字段的栏目信息。

栏尾(ColumnHeader):显示在每页数据源的下部,它在每页均显示。

一般可用于统计显示每页数据的页合计信息。

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

分组页脚(GroupFooter):与群组首一一对应。

一般用于显示分组数据的统计信息。

快速报表系统FastReport4用户使用手册_修改版

快速报表系统FastReport4用户使用手册_修改版

“Reprint headers on new page”决定在多个页面打印时,是否在每个页面当打印输出标题栏。

“Side by side cell”:是否允许合并单元格“Join equal cells”选项,当数值相等时是否可以合并单元格。

使用对象查看器的属性设置也可以设置这些内容。

第八章FastReport允许用户插入chart制表组件到报表中,这样,在FastReport面板上的“TfrxCharObject”组件就必须应用上。

这个组件基于“TeeChart”动态库,在delphi 中需要将它包含在工程中。

我们通过以下示例先进行简单说明,连接DBDemos中的countory表,数据内容如下:在delphi环境中创建一个新的工程,添加“TTable”,“TfrxChartObject”,“TfrxDBData”,“TfrxReport”组件,并设置属性值:Table1:DatabaseName = 'DBDEMOS'TableName = ''frxDBDataSet1:DataSet = Table1UserName = 'Country'进入到报表设计器页面,并连结设置数据源。

在报表的设计页上放置一个“chart”组件,并调整其大小(18X8cm)。

双击组件,打开组件的编辑器窗口。

char编辑器区域说明:1:chart结构,一个chart包含有几个制表系统。

2:组件监视器,显示所选组件的属性。

3:连结chart的series的数据属性。

开始的界面显示如上,首先添加一个或几个series,在1区点击按钮,添加一个Pie。

有许多可用的不同的类型的series。

添加一个系列之后,3区被激活。

首先选择数据源,设置Label和pie字段。

点击确定按钮,关闭编辑器窗口,然后预览。

还如何改良以下报表呢?首先,将数据按升序方式进行排序。

再次进入编辑器,选择要设置的series,在3区设置选项。

FastReport--打印报表操作手册

FastReport--打印报表操作手册

安易信息系统FastReport报表打印格式操作手册目录FastReport对象 (2)“Text”对象 (3)“Band”对象 (7)“Image”对象 (9)“SubReport”对象 (10)“Line”对象 (12)“CheckBox”对象 (12)“RichText”对象 (12)“OLE”对象 (13)“Chart”对象 (14)“Shape”对象 (16)“Barcode”对象 (17)“R ichText 2.0”对象 (18)设计器 (18)使用控制键 (19)使用鼠标 (20)报表选项 (20)页面选项 (20)设计器选项 (24)对象观测器 (26)“插入数据字段”窗口 (26)数据字典 (28)体现式编辑器 (33)工具栏 (36)“原则”工具栏 (36)“格式”工具栏 (37)“边框”工具栏 (38)“对齐”工具栏 (38)对象旳属性和措施 (39)解释器旳使用 (46)创立ANYIHIS旳FastReport报表 (47)FastReport对象图标名称描述Text 提供里面涉及多行文本旳矩形框。

文本容许涉及变量。

Band 条状区域。

定义区域涉及旳最后报表旳位置。

Picture 显示BMP, ICO, WMF, EMF和JPG图像格式。

来源可以是BLOB 字段。

不连接到FR.inc就不能在FastReport中使用JPG格式。

SubReport 用于创立子报表。

当你插入这个对象到一种报表时, 你将看到在你旳报表中增长一种新页面。

Line 在报表上画垂直或水平线条。

Shadowed text 提供涉及在一种矩形边框中旳多行文本, 并可设立阴影和(或者)渐变色填充。

用于打印标签。

Barcode 用条形码显示数据。

Shape 容许在报表中插入几何图形(矩形, 圆角矩形, 椭圆, 三角形)。

CheckBox 用检查框或X来显示逻辑数据。

RichText 用于在报表中插入RTF文档。

快速报表系统FastReport4用户使用手册_修改版

快速报表系统FastReport4用户使用手册_修改版

“Reprint headers on new page”决定在多个页面打印时,是否在每个页面当打印输出标题栏。

“Side by side cell”:是否允许合并单元格“Join equal cells”选项,当数值相等时是否可以合并单元格。

使用对象查看器的属性设置也可以设置这些内容。

第八章FastReport允许用户插入chart制表组件到报表中,这样,在FastReport面板上的“TfrxCharObject”组件就必须应用上。

这个组件基于“TeeChart”动态库,在delphi 中需要将它包含在工程中。

我们通过以下示例先进行简单说明,连接DBDemos中的countory表,数据内容如下:在delphi环境中创建一个新的工程,添加“TTable”,“TfrxChartObject”,“TfrxDBData”,“TfrxReport”组件,并设置属性值:Table1:DatabaseName = 'DBDEMOS'TableName = ''frxDBDataSet1:DataSet = Table1UserName = 'Country'进入到报表设计器页面,并连结设置数据源。

在报表的设计页上放置一个“chart”组件,并调整其大小(18X8cm)。

双击组件,打开组件的编辑器窗口。

char编辑器区域说明:1:chart结构,一个chart包含有几个制表系统。

2:组件监视器,显示所选组件的属性。

3:连结chart的series的数据属性。

开始的界面显示如上,首先添加一个或几个series,在1区点击按钮,添加一个Pie。

有许多可用的不同的类型的series。

添加一个系列之后,3区被激活。

首先选择数据源,设置Label和pie字段。

点击确定按钮,关闭编辑器窗口,然后预览。

还如何改良以下报表呢?首先,将数据按升序方式进行排序。

再次进入编辑器,选择要设置的series,在3区设置选项。

FastReport用户手册译文

FastReport用户手册译文

FastReport用户手册1.0.0设计器报表组件提供了一个内置的设计器,此设计器可以在报表设计期间通过双击TfrxReport 组件进行访问。

它为用户提供了设计报表的所有工具,并能同步预览。

设计器当前版本是V4.6.8。

它提供了一些工具栏,可以根据个人爱好停放在任意位置。

工具栏的位置以及设计器的设置信息(任何一个改变后)会被保存在ini文件或注册表中,以后启动报表设计器后会根据这些信息恢复当前的设计界面。

要给终端用户提供报表设计器,你要么从fastreport组件面板中加入“TfrxDesigner”组件,要么在单元文件Uses列表中加入“frxDesgn”单元,这样才能在运行时期设计或修改报表。

注意:应该在Delphi窗体中添加其它Tfrx系列的组件,这样才能在报表设计期间使用。

看一下报表设计器,在上图中用数字进行了指示:1 –报表设计器工作区;2 –菜单栏;3 –工具栏;4 –对象工具栏;5 –报表页标签;6 –“报表树”窗体;;7 –“对象查看器”窗体;8 –“数据树”窗体,可以从此窗体中拖到一个数据元素到工作区;9 –标尺。

当往工作区拖动标尺时,将会出现一根引导线;10 –状态栏。

1.1.0控制键1.2.0鼠标控制Ctrl + 左键(原文是右键,有误)按住左键拖动,将出现虚线框,释放左键时所有被虚线框捕获的对象将被选中。

该操作也可以由点击空白页面,并移动鼠标光标到所需的位置。

Alt + 左键如果选中的对象是文本对象, 可直接编辑对象的文本。

1.3.0工具栏1.3.1设计栏与对象工具栏是一体的,有下列基本的按钮:图标名称描述选取工具一个标准的操作方法,显示一个鼠标指针,用来选择对象,修改大小等等。

徒手工具点击该图标后可以拖动报表。

显示比率工具点击鼠标左键放大报表显示(每次增加100%),点击右键缩小显示(每次减少100%)。

当按住左键拖动时,指定区域会被缩放。

文本工具点击“文本”的对象后可以在报表内直接编辑文本内容。

fastreport .net初级教程之报表设计器环境

fastreport .net初级教程之报表设计器环境

初级教程之报表设计器环境报表组件在开发环境中,可以通过鼠标双击TfrxReport组件,打开报表设计器环境。

设计器窗口提供给用户全部有关报表设计的工具,并同时提供预览功能。

报表设计器界面新颖。

包含几个工具栏,并且工具栏可以停靠镶嵌在任何你想停靠的地方,并随设计器其他配置属性保存在一个.Ini文件中,当再次打开时,恢复设计器的配置属性。

为了提供给用户运行期设计报表的功能,应该再添加“TfrxDesigner”或“frxDesgn”单元到Uses列表中。

这样用户就可以在运行期修改报表格式,又可以修改已经生成的报表内容信息。

注:根据报表的需要,你应该还需要添加其他的一些组件到表单上。

其他组件说明不在此介绍。

2图中标号说明:1——报表设计区域2——菜单栏3——工具栏4——报表对象工具栏5——报表分页标签6——报表树窗口7——对象属性窗口8——数据树窗口。

可以从此窗口拖曳到报表窗口9——尺标。

10——状态条13456789101.1、控制键控制键描述Ctrl+O“文件|打开…”菜单命令Ctrl+S“文件|保存”菜单命令Ctrl+P“文件|预览”菜单命令Ctrl+Z“编辑|撤销”菜单命令Ctrl+C“编辑|复制”菜单命令Ctrl+V“编辑|粘贴”菜单命令Ctrl+X“编辑|剪切”菜单命令Ctrl+A“编辑|全选”菜单命令Arrow,Tab对象切换Del删除被选择的对象Enter打开对象编辑器Shift+arrows改变对象的大小Ctrl+arrows移动对象位置Alt+arrows移动对象到附近对象的位置1.2、鼠标操作操作描述左键选择组件对象;添加新的组件对象;移动组件对象;改变组件的大小;对选中的对象通过组件的黑色方块可以改变组件的大小。

右键弹出选择组件对象的浮动菜单双击打开对象编辑器;通过在组件的中间位置双击鼠标左键,打开属性对话窗口。

鼠标滚轮滚动报表。

Shift+左键多选组件对象Ctrl+右键当你按着鼠标左键移动鼠标时,在窗口上划出一道方形窗口。

FastReport报表设计(仔细看)

FastReport报表设计(仔细看)

FastReport报表设计(仔细看)FastReport报表设计2011-06-16 16:56:19| 分类: |举报|字号⽬录5.1 前⾔汽车业务管理系统(VBMS)使⽤FastReport3.0报表系统设计报表。

本⽂主要描述使⽤FastReport设计报表的基本概念、使⽤⽅法、设计技巧和范例,不是FastReport的⽤户⼿册因此并不针对每个细节进⾏阐述。

⽴⾜于建⽴设计报表的概念和实⽤技巧范例的讲解,⾯对的是具有⼀定计算机操作⽔平的⽤户。

在VBMS中使⽤FastReport设计报表应该掌握以下知识:1、熟悉SQL语⾔,为设计报表准备数据源。

2、掌握VBMS的数据结构,可参考相关资料。

3、掌握FastReport报表的设计使⽤⽅法。

体系结构学习报表设计前应当⾸先弄清楚VBMS系统与FastReport报表设计之间的关系。

报表设计的⽬的是将VBMS数据库(Firebird1.5)中的数据按照需要的视图⽅式显⽰、统计出来,并且可以打印、导出。

VBMS数据库与VBMS管理系统以及FastReport报表设计之间的关系是:Firebird数据库系统是报表的数据源,它存储着客户的业务数据。

但该数据的存储⽅式并不⼀定是客户希望直接看到的。

VBMS管理系统是中间层,它负责连接Firebird数据库和FastReport报表系统,将数据库信息(例如数据库的位置)传⼊到报表系统中供设计报表时使⽤。

FastReport报表系统是报表设计的主体,它负责接收或创建数据源,通过设计报表完成需要的功能。

因此在VBMS管理系统的打印模块中存在两种数据源:⼀种是VBMS 系统数据源,即在各模块中将设计好的数据源传⼊到打印模块中。

优点是⽆须⽤户⼲预使⽤⽅便,缺点是不够灵活,更改数据源需要升级程序。

例如各类单据的打印报表采⽤的就是系统数据源。

另⼀种是⾃⾏设计数据源,功能强⼤但对⽤户的要求较⾼。

例如报表中⼼中的各类报表。

设计步骤完成⼀张报表的设计主要包括以下⼏个步骤:1、确定报表的需求,查阅VBMS关于数据库结构的⽂档,确认该需求的所有内容在VBMS中均有数据字段记录(即VBMS必须记录了相关数据,否则报表设计⽆从谈起)。

fastreport初级使用教程之交叉报表

fastreport初级使用教程之交叉报表

fastreport初级使用教程之交叉报表这种报表类型是表格结构,意思是它包含着一系列的行和列。

同时它不可预知,表格有多少个行和列。

这就是为什么报表不但纵向增加,而且横向增加。

以下显示这种类型的报表的例子:表格的数据如下:这个例子中,表格有两个行和四个列。

A和b行的标题,1,2,3,4是列的标题。

A1,a2..a4,b1..b4是表格中的数据。

我们创建一个数据集,有三个字段,包含如下内容:a1a1a2a2a3a3a4a4b1b1b2b2b3b3b4b4第一个字段为行序号,第二个字段为列序号,第三个字段为表格数据。

当输出报表时,FastReport在内存创建一个表格,并填入数据。

标题如果有两层,显示数据如下:报表需要如下数据:a101a10.1a102a10.2a201a20.1a202a20.2b101b10.1b102b10.2b201b20.1b202b20.2内存中创建的表格数据如下:1、创建交叉报表现在我们从理论转到实践。

我们创建一个简单的报表,数据包含四年来的雇员的薪水。

这样,我们需要一个“CrossTest”的数据表,数据包含如下内容:Name Year SalaryAnn19993300Ben20022000….在delphi中创建一个新的工程,添加“TTable”,“TfrxDBData”和“TfrxReport”组件。

并设值其属性:Table1:DatabaseName='c:\Program Files\FastReport4\Demos\Main'TableName='crosstest.db'frxDBDataSet1:DataSet=Table1UserName='SimpleCross'为了完成交叉报表,我们需要使用组件“TfrxCrossObject”,此组件在FastReport组件面板上。

将他添加到delphi的表单中,不需要设置任何属性;同时,包含全部可用函数的“frxCross”单元被添加到uses列表中。

.net报表工具使用方法-如何使用交叉报表

.net报表工具使用方法-如何使用交叉报表

什么是交叉报表交叉报表(Cross Tabulations)可以说是一种二维分组报表,在之前的报表知识中讲到分组报表是指纵向分组,而交叉报表则是纵向和横向同时具有分组功能的二维分组报表,因此称为交叉报表。

它类似于二维数组,通过行下标和列下标共同决定数值的意义。

如图“产品销售数据分析”,是一个典型的动态加载的交叉报表;将原始数据在列上按照【产品类别】+【名称】分类,在行上按照【销售年】+【销售月】的方式进行交叉统计。

那么我们可以通过报表获取到某一销售年某一类商品的销售情况。

交叉报表有一个明显的特征在于行数或列数是动态的,在设计时行数和列数有可能是不确定的,行数或列数在运行时根据报表数据源决定的。

交叉报表通常在行列的交叉处,需要对数据进行多种汇总计算,如:求和、平均值、记数、最大值、最小值等。

如上图所示,会发现在每一年都会小计各类商品的销售数据,在最后一列对全年的销售数据合计,最后一行展示的是三年内各类商品的总销售额。

交叉报表的应用交叉报表常用来展示数据的交叉汇总信息,交叉报表保证多重分组数据更易阅读和理解,同时能够很好的展示中国式复杂报表,如图在商品销售额与赠送商品金额报表中,主要展示了交叉统计报表中如何按照【多行+多列】进行统计。

报表的列按照【月】进行统计,每月有【销售额】和【搭赠】两项数据,共计12个月。

报表的行按照销售【区域】和【省份】进行统计,每个【区域】都有销售合计。

因此依靠交叉报表实现中国式的复杂交叉报表是很常见的。

如图是很典型的中国式交叉报表,从行的角度来看,会发现【年月】列头包含两行,并且子列头包含4列【外包】。

如何通过数据控件实现交叉报表实现交叉报表最常用的数据控件就是矩阵控件,矩阵包含列和行,这些列和行可以是动态的,也可以是静态的。

由于交叉报表具有明显的特征,行或列是动态生成且包含很多小计,汇总等数据计算功能,因此矩阵控件可以很好的满足交叉报表的需求,因此矩阵控件是实现交叉报表的最常用的控件。

fastreport教程

fastreport教程

FastReport教程简介FastReport是一款功能强大且易于使用的报告生成工具。

它提供了丰富的报告设计功能,并支持多种数据源。

FastReport广泛应用于软件开发、数据分析和业务报表等领域。

本教程将介绍FastReport的基本用法和一些常用功能。

安装要使用FastReport,我们首先需要安装它。

FastReport支持多种开发环境,如Delphi、C++Builder、.NET等。

你可以根据自己的开发环境选择合适的版本进行安装。

Delphi环境如果你使用Delphi进行开发,可以按照以下步骤安装FastReport:1.在FastReport官网下载最新版本的安装包;2.运行安装包,按照提示进行安装;3.在Delphi的组件面板中找到FastReport组件,将其拖放到窗体中。

.NET环境如果你使用.NET进行开发,可以按照以下步骤安装FastReport:1.在FastReport官网下载最新版本的安装包;2.运行安装包,按照提示进行安装;3.在Visual Studio中打开项目,通过NuGet下载并安装FastReport。

创建报表创建报表是使用FastReport的第一步。

在FastReport中,我们可以使用设计器来创建报表模板,并在代码中加载和填充数据。

下面是创建报表的基本步骤:1.打开FastReport设计器,新建一个报表项目;2.在报表中添加数据源,可以是数据库、XML文件或自定义数据源;3.在报表中添加报表控件和数据绑定,设计报表样式;4.在代码中加载数据,并预览或导出报表。

加载数据在FastReport中,我们可以使用多种方式加载数据:数据库如果你的报表数据存储在数据库中,你可以使用FastReport提供的数据库连接工具加载数据。

首先需要设置数据库连接参数,然后通过SQL查询或存储过程获取数据。

```csharp using FastReport.Data;// 创建数据库连接 var connection = new Connection(); connection.ConnectionString =。

FastReport的使用方法

FastReport的使用方法

FastReport的使⽤⽅法以下是我在⽹上收集的这是FastReport的主控件。

它包含了调⼊、保存、预览和打印报表的⽅法。

每个TfrReport控件只能包含⼀个单独报表。

TfrReport属性描 述DataSet-联接到⼀个TfrxxxDataSet。

这个数据源的记录数定义需多少时间这个报表才能被构建和打印。

(参考:ReportType属性)GrayedButtonsFalse如果为True,设计器和预览窗⼝的⼯具栏将显⽰为灰⾊。

InitialZoompzDefault定义预览的初始缩放值。

MDIPreviewFalse显⽰预览窗⼝为⼀个MDI⼦窗⼝。

ModalPreviewTrue如果为True,预览窗⼝为模式⽅式。

ModifyPreparedTrue如果为True,在预览窗⼝中双击页⾯则可以修改准备好的报表。

Preview-连接到⼀个TfrPreview。

如果这个属性被设置,准备好的报表将被显⽰在这个控件中。

PreviewButtonsAll定义在预览窗⼝中可⽤的按钮集。

ReportTypeRtSimpleDefines how to interpret the data source connected to the DataSet property. If ReportType = rtMultiple, the report will be built as many times as the number of records in the connected data source. This is useful for printing a report multiple times based on a list (i.e. the data source).定义怎样解释数据源连接到DataSet属性。

如果ReportType = rtMultiple,报表将在不同时间构建连接数据源的记录数。

fastreport 入门教程之参数查询报表

fastreport 入门教程之参数查询报表

fastreport入门教程之参数查询报表参数查询报表我们创建一个比较复杂一点报表,在报表输出之前,在对话框中输入参数查询。

在上面的报表中在点击新报表,重新创建一个空白报表。

切换到data页,放置ADO Query组件到面板上,双击组件单出编辑器,输入查询语句:select*from Customer where CustNo>:p1加入一个对话框窗体,组织组件如下:设置组件属性:Label1:Caption='选择CustNo大于'Edit1:Text='2000'Button1:Caption='确定'ModalResult=mrOkButton2:Caption='取消'ModalResult=mrCancel打开Query的参数params属性编辑器对话框,设置参数:回到报表设计器页面,组织报表结构如下:进行预览,输入参数,查看显示结果。

同为比较常用的报表工具,FineReport对报表中参数的解决方案思路有相同,但具体的实现方式存在差异,主要有三种实现方式,大概如下:参数控件绑定数据1.描述FineReport为了让用户快速的实现参数查询数据功能,提供了专门的参数界面,用来放置与查询相关的控件,如下图:2.示例根据下图我们制作一个简单的查询界面,从而了解参数查询界面的具体制作方法。

2.1打开报表打开报表:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\Para meter\Parameter.cpt,这张模板是模板参数章节的示例模板,该模板中添加了参数界面,以此模板为例来讲述参数界面的一些使用方法。

2.2参数布局按照下图所示,将控件拖至相应的位置,如下:另:参数界面采用绝对布局方式,因此可以将控件拖至面板中的任何位置。

2.3参数控件编辑风格默认的参数控件都是文本框,有时如希望使用日期控件来选择日期,或者下拉框直接选择数据,这就需要为参数控件定义编辑风格了。

专业Web报表工具FineReport ——报表教程之交叉表

专业Web报表工具FineReport ——报表教程之交叉表

交叉表,也是报表当中常见的类型。

和分组报表一样,也是基本的报表类型。

分组报表是只有行方向上有分组,而交叉表则是行,列方向都有分组的报表。

传统的报表一般都是通过专门的交叉表生成向导来设计交叉表。

FineReport的数据模型,天然支持行列对称,因此设计交叉表的手段也很简单。

如下图所示:1、打开../WebReport/WEB-INF/reportlets/com/doc/group.cpt。

2、鼠标选中A2-C2单元格,右键,选择清除,将单元格的内容和格式全部清除。

如下图所示:3、在数据源面板当中,将扩展类型设置为扩展,设置数据选定为分组,将扩展方向设置为从左到右。

4、然后,将ds1中的ProType字段拖拽到C1单元格中。

其默认的设置就是数据分组,并且数据的扩展方式是横向的。

5、将Product字段拖拽到C2单元格中。

其默认的设置也是数据分组,并且数据的扩展方式是横向的。

如下图:6、这时候预览报表,效果如下图所示,可以看到汇总数据已经根据其上方的产品分组进行了重新汇总放置。

7、然后,我们要来给产品类型加上小计。

首先把C1单元格和D1单元格进行合并,然后,在D2单元格中写入内容:“Total:”。

在D3单元格中写入公式“=sum(C3)”。

在D4单元格中写入公式“=sum(D3)”。

这里的原理和我们在分组报表当中设计添加小计汇总的原理是一样的。

8、将A1-B2四个单元格进行合并,然后,鼠标选中这个A1单元格,选择单元格元素|斜线,系统会弹出如下对话框,在该文本框中输入:Products|Manager。

10、最后,给单元格添加边框,背景色等,最终的报表设计图如下图:点击预览,即可以看到一开始的报表的报表样式了。

fastreport中文版入门教程之报表向导

fastreport中文版入门教程之报表向导

fastreport中文版入门教程之报表向导FastReport有几个报表向导简化报表的生成过程。

选择“文件|新建”菜单,界面如下:13.1、新报表向导有四个创建新报表的向导。

——标准报表向导——标准报表——点矩阵报表向导——点矩阵报表标准报表和点矩阵报表向导可以创建空白的标准报表或点矩阵报表。

报表包含有一个空白页。

标准报表向导和点矩阵报表向导允许生成报表中选择数据字段,创建组。

我们通过标准报表向导创建一个报表。

点击“文件|新建”菜单,选择标准报表向导,弹出向导窗口:可以看到,这个窗口有多个页标签。

第一个页中选择数据源;可以选择任何可用的数据源,也可以创建一个新的表——tabel或query。

点击new table或new query按钮,弹出数据源向导窗口。

在此我们选择customers数据源,点击“下一步>>”按钮。

下一页选择可以显示的字段。

左边列表中显示可以使用的字段,右边列表中显示的是已经选择的字段。

通过“加入>>”“全部加入>>”“<移除”“<<全部移除”按钮选择或移除可以显示的字段。

通过按钮,调整选取的字段的顺序。

下一个页创建一个或多个组。

这个示例中添加一个Group Header,Group Footer两个组。

这个页我们点击“下一步>>”按钮,跳过此页。

下一页设置页面属性。

选择显示方式,在右边可以查看显示样式。

最后一页设置显示模式。

点击“完成”按钮,创建如下报表:13.2、数据连接向导这个向导在当前报表中添加一个新的数据库连接。

这个向导将添加一个TfrxAdoDatabase组件到报表中。

点击“”按钮,弹出标准数据库连接窗口。

并设置登陆用户和登陆密码。

用户可以直接添加一个TfrxAdoDatabase组件建立连接。

13.3、新table向导这个向导可以在报表中加入一个新的数据表的连接。

用户选择表,并可以设置过滤条件。

交叉报表例子详解

交叉报表例子详解

交叉报表的制作引言自己设计报表时碰到了交叉报表,网上基本上没有详细介绍的例子,自己做了一遍,也写了一遍,希望对看到的朋友能有帮助。

我们要设计的报表最终结果如下:一、创建报表和配置数据源1.新建一个报表,改好自己的名字,然后finish完成。

2.新建数据源,我们使用birt自带的数据源,然后next -> finish3.New data sets , sql语句如下,具体可以见报表:4.预览结果如下:二、配置Data Cubes1.新建Data Cubes,右键new data cubes2.为cubes设置数据集3.创建分组和汇总字段4.创建名为CustomerRregion的分组5.创建分组下面的字段:将左边的country、city、state拖到customerRegion分组下面,注意层级关系6.创建Product分组:并将左边的PRODUCTLINE、PRODUCTNAME字段拖到该分组下面,注意层级关系7.创建汇总字段:将左边的ORDERTOTAL字段拖到Summary Fields下面8.单击OK,至此数据集和分组都已经创建完毕,下面的工作就是将创建的分组拖到交叉区域中三、设计报表主体1.先切换到页面布局选项上,拖动Cross Tab到右边区域2.切换到Data Explorer 选项卡上,将CustomerRegion分组中的Country 字段拖到右边区域3.选择刚才拖到右边的COUNTRY 字段后面的图标,左键单击或右键单击,选择Show/hidegroup levels4.结果如下图所示5.同样,将右边分组下的PRODUCTLINE、汇总字段下的ORDERTOTAL拖到右边6.到此,已经基本上完成了,我们可以预览看下结果四、给交叉报表添加汇总字段1.点击COUNTRY字段右边的图标,右击选择TOTALS,弹出如下选项框2.勾上Row Area选项卡下的复选框,如下图3.勾上Column Area 选项卡下的复选框,点击OK4.预览报表,我们会发现多了几个汇总的行和列5.6.7.[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]8.。

fastreport 初级教程之嵌套报表

fastreport 初级教程之嵌套报表

fastreport初级教程之嵌套报表嵌套报表有时一些复杂的报表结构中,需要报表的特殊位置显示特殊的数据。

通过FastReport的Band可以创建这些报表。

创建子报表可以使用“子报表组件”。

插入这种组件后,就会在设计器中添加一个新的页面,它连接着这个子报表组件。

镶嵌式报表就像一系列的多页报表系统。

唯一不同的就是嵌套报表显示在基础报表中特殊的位置,而不是在他的后面。

当输出报表时,当FastReport系统遇到“SubReport”组件,FastReport引擎,输出关联的设计页,然后输出报表的其他部分。

还可以在子报表窗面上添加子报表,增加嵌套层数。

注意:可以增加嵌套报表,但最多有6层数据。

5.2、设计子报表你可以在同一Band上放置两个或更多的“SubReport”组件。

这样允许报表设计中,输出数据可以有不同的长度,不同的宽度,不同的高度。

如你所见,报表在输出全部子报表后,生成报表结构。

子报表也可以使用各种对齐方法属性。

5.3、子报表中的限制既然子表是主报表的一部分,他又不能在包含以下Band:“ReportTitle/ReportFooter”、“PageTitle/PageFooter/PageBackground,”和“ColumnTitle/ColumnFooter.”。

把这些Band是可以放在主表单上,但是报表系统是不能对其进行处理。

同理,嵌套表的选项设置一样不被理会,因为报表输出的时候,主要用到的是主表单的选项。

不能把组件放在“subreport”组件的下面。

当显示子报表的数据时,报表系统将用子报表的内容覆盖“subReport”组件下面的位置。

打印可能会出现以下情况:如果要在subreport下面显示数据,可以使用child-band。

在需要多个子报表的情况,这种方法一样适用,5.4、PrintOnParent选项“subreport”组件又一个属性“printonparent”属性,根据情况有需要。

FastReport.Net的使用

FastReport.Net的使用

的使⽤⼀、基本使⽤1、准备⼯程和引⼊控件1、下载、安装FastReport这⼀步很简单,⼤家在其中⽂⽹站上下载最新版的demo版就可以了,直接安装就可以替换破解⽂件:Replace C:\Windows\\assembly\GAC_MSIL\FastReport\v4.0_2019.1.5.0__00000000000000000000000000\FastReport.dll with cracked one.Assemblies from folders Framework X.0 is PublicKeyToken removed and strong name verification disabled.安装之后⼤家会发现,VS⾥⾯什么都没有,不像有些插件直接会在ToolBox⾥显⽰,这⾥需要我们⾃⼰引⼊2、准备⼯程、引⼊控件⾸先我们使⽤VS新建⼀个WinForm⼯程,这⾥我使⽤的是VisualStutio2015版本接着我们先引⼊FastReport的核⼼dll依赖,这些⽂件的⽬录在FastReport安装⽬录下,分别是FastReport.dll,FastReport.Editor.dll,FastReport.Bars.dll。

你可以使⽤Framework 4.0下的dll⽂件接着我们需要3个窗体:MainForm,DesignForm,PreviewForm,其中MainForm为启动页⾯现在我们需要在ToolsBox中引⼊我们需要的FastReport控件,⾸先我们在ToolsBox中新建⼀个Item,命名为FastReport然后右键刚刚新建的选项卡->选择项,打开选择控件的对话框然后我们点击左下⾓的浏览,选择刚刚的FastReport.dll,然后确定,之后再确定,就会成功导⼊以下新的控件3、启动页设计MainForm很简单,我们就放两个按钮,⼀个设计,⼀个浏览,分别打开两个窗⼝事件private void btnDesign_Click(object sender, EventArgs e){DesignForm dForm = new DesignForm();dForm.Show();}private void btnPreview_Click(object sender, EventArgs e){PreviewForm pForm = new PreviewForm();pForm.Show();}2、使⽤控件搭建窗体1、准备⼀个FastReport报表使⽤安装时我们的设计⼯具设计⼀张最简单的报表设计的报表,只有⼀个⽂字框将这份报表保存到⼯程⽂件/bin/Debug/Report下2、引⼊Preview控件我们在PreviewForm中,将PreviewControl控件拖⼊窗体,将窗体拉⼤⼀点,然后将控件的Dock设为Fill然后我们F5测试⼀下看看是什么效果我们发现控件被正确的显⽰出来了那怎么才能看到我们报表呢,我们需要⽤代码来加载,我们双击Form,新建Load函数,打下⾯的代码using FastReport;//引⼊FastReportusing System;using System.Windows.Forms;namespace ReportDemo{public partial class PreviewForm : Form{private Report pReport; //新建⼀个私有变量public PreviewForm(){InitializeComponent();}private void PreviewForm_Load(object sender, EventArgs e){pReport = new Report(); //实例化⼀个Report报表String reportFile = "Report/report.frx";pReport.Load(reportFile); //载⼊报表⽂件pReport.Preview = previewControl1; //设置报表的Preview控件(这⾥的previewControl1就是我们之前拖进去的那个)pReport.Prepare(); //准备pReport.ShowPrepared(); //显⽰}}}我们再F5⼀下,载⼊了报表⽂件的样⼦这⾥我们已经可以预览我们的报表了但是在我们的需求中,⽤户还需要⾃定义报表的内容和格式呢,我们下⼀步就在实现报表设计器3、引⼊Design控件我们像Preview那样把Design控件拖进DesignForm,然后Dock设为Fill然后我们来写怎么样吧设计器绑定Report⽂件,双击新建Load函数,引⼊FastReport,新建⼀个private变量using FastReport;using System;using System.Windows.Forms;namespace ReportDemo{public partial class DesignForm : Form{private Report dReport;public DesignForm(){InitializeComponent();}private void DesignForm_Load(object sender, EventArgs e){dReport = new Report();string reportFile = "Report/report.frx";dReport.Load(reportFile);this.designerControl1.Report = dReport;dReport.Prepare();dReport.Design();}}}我们F5⼀下成功!3、绑定数据1、数据库准备我们使⽤VisualStudio⾃带的mdf⽂件数据库,⾸先我们在⼯程中创建⼀个⽂件夹APP_DATA,在此⽂件夹中创建⼀个mdf⽂件然后我们可以在服务器资源管理器中看到我们的数据库然后我们右键表新建⼀个表CREATE TABLE[dbo].[T_students]([Id]INT NOT NULL PRIMARY KEY IDENTITY,[no]NCHAR(50) NULL,[name]NCHAR(50) NULL,[school]NCHAR(50) NULL,[class]NCHAR(50) NULL)然后在设计器左上⾓点击更新按钮,在弹出的窗⼝中点击更新数据库更状态全部打钩之后,表就创建好了,我们刷新服务器资源管理器,然后打开表数据,添加⼀些数据进去ok我们现在在服务器资源管理器⾥⾯选择mdf⽂件,在属性列表⾥,找到连接字符串,拷贝⼀份出来,等会需要⽤的到Data Source=(LocalDB)\v11.0;AttachDbFilename="D:\Personal\Documents\Visual Studio 2012\Projects\WindowsFormsApplication3\WindowsFormsApplication3\APP_DATA\Database1.mdf";Integrate 2、设计器数据获取我们在DesignForm.cs⾥,写⼀个⽅法getData()private DataSet getData(){String connStr = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\Personal\Documents\Visual Studio 2012\Projects\WindowsFormsApplication3\WindowsFormsApplication3\APP_DATA\Database1.mdf;Integra SqlConnection conn = new SqlConnection(connStr);conn.Open();String sqlStr = "SELECT * FROM T_students";SqlCommand comm = new SqlCommand();mandText = sqlStr;mandType = CommandType.Text;comm.Connection = conn;DataSet ds = new DataSet();SqlDataAdapter adapter = new SqlDataAdapter(comm);adapter.Fill(ds, "学⽣信息");conn.Close();return ds;}然后我们在Form_Load⽅法⾥绑定数据集private void DesignForm_Load(object sender, EventArgs e){dReport = new Report();string reportFile = "Report/report.frx";dReport.Load(reportFile);this.designerControl1.Report = dReport;DataSet ds = new DataSet();ds = getData();dReport.RegisterData(ds, "学⽣信息");dReport.Prepare();dReport.Design();}我们F5⼀下,在设计窗⼝下,在[数据]->[选择数据源]中,就能看到我们绑定的数据了我们设计⼀个表格,把我们的数据放进去我们可以预览⼀下,然后保存3、为Preview绑定数据现在我们⽤同样的⽅法为Preview绑定数据,getData()⽅法⼀致,可以直接复制过来private void PreviewForm_Load(object sender, EventArgs e){pReport = new Report(); //实例化⼀个Report报表String reportFile = "Report/report.frx";pReport.Load(reportFile); //载⼊报表⽂件pReport.Preview = previewControl1; //设置报表的Preview控件(这⾥的previewControl1就是我们之前拖进去的那个)DataSet ds = new DataSet();ds = getData();pReport.RegisterData(ds, "学⽣信息");pReport.Prepare(); //准备pReport.ShowPrepared(); //显⽰}我们测试⼀下⼆、⽤户⾃定义报表,可保存到服务器和打开。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

入门教程之交叉报表
这种报表类型是表格结构,意思是它包含着一系列的行和列。

同时它不可预知,表格有多少个行和列。

这就是为什么报表不但纵向增加,而且横向增加。

以下显示这种类型的报表的例子:
表格的数据如下:
这个例子中,表格有两个行和四个列。

A和b行的标题,1,2,3,4是列的标题。

A1,a2..a4,b1..b4是表格中的数据。

我们创建一个数据集,有三个字段,包含如下内容:
a1a1
a2a2
a3a3
a4a4
b1b1
b2b2
b3b3
b4b4
第一个字段为行序号,第二个字段为列序号,第三个字段为表格数据。

当输出报表时,FastReport在内存创建一个表格,并填入数据。

标题如果有两层,显示数据如下:
报表需要如下数据:
a101a10.1
a102a10.2
a201a20.1
a202a20.2
b101b10.1
b102b10.2
b201b20.1
b202b20.2
内存中创建的表格数据如下:
1、创建交叉报表
现在我们从理论转到实践。

我们创建一个简单的报表,数据包含四年来的雇员的薪水。

这样,我们需要一个“CrossTest”的数据表,数据包含如下内容:
Name Year Salary
Ann19993300
Ben20022000
….
在delphi中创建一个新的工程,添加“TTable”,“TfrxDBData”和“TfrxReport”组件。

并设值其属性:
Table1:
DatabaseName='c:\Program Files\FastReport4\Demos\Main'
TableName='crosstest.db'
frxDBDataSet1:
DataSet=Table1
UserName='SimpleCross'
为了完成交叉报表,我们需要使用组件“TfrxCrossObject”,此组件在FastReport组件面板上。

将他添加到delphi的表单中,不需要设置任何属性;同时,包含全部可用函数的“frxCross”单元被添加到uses列表中。

进入报表设计器界面,首先连接数据源,再在报表中添加“Db Cross tab”组件。

通过事件编辑器,设置组件的相关属性。

双击组件可以打开编辑器界面。

图形中数字区说明
1:可用的数据源下拉列表
2:选择数据源的字段列表。

字段可以被拖拽到3、4、5区域中。

3:生成行标题的字段列表。

4:生成列标题的字段列表。

5:显示表格数据的字段列表。

6:表格结构预览
7:可选项。

在这个界面中,只能通过鼠标进行操作修改。

在这个示例中,可以托动鼠标将2区域的字段列表托拽到3、4、5区域。

然后点击确定,显示结构如下:
预览报表,显示界面如下:
2、改变显示
让我们改变组件的显示模式。

首先我们要做的就是改变标题的颜色,并改变Grand Total改变为“汇总”。

给边非常简单,一次选中“year”,“Name”,“Grand Total”组件,点击按钮设置颜色,
页可以在组件的编辑器中选择你喜欢的样式。

改变“Grand Total”标题,上击要修改的组件,从弹出的编辑窗口中修改文字即可。

格式化显示结果,可选选中第一个单元格(year和name的交叉位置)。

点击右键从菜单中选择“display format”。

选中需要得显示格式,然后关闭格式化界面,显示结果如下图:
3、使用函数
在上面的示例中,我们可以看到员工四年的工资以及工资汇总情况,我们还可以使用一下函数:
sum:汇总值和
Max:求最大值
Min:求最小值
Avg:求平均值。

Count:计数
我们示例MIN函数,打开交叉组件编辑器,在6区选择salary,
从菜单中选择最小值。

把表格中的汇总字符改为最小值。

然后显示结果:
4、对结果进行排序
对行和列进行升序排序,如果结果是数字型,则按数据进行排序,如果是字符型,则按字母顺序排序。

我们可以对行和列分别进行设置排序模式。

我们做个示范,让year进行降序排列,设置界面如图(组件设计器):
显示结果:
5、组合标题的表格
我们的示例只有一个行头和一个列首。

现在我们设计一个复杂标题的报表,它可能包含两个行或列数据。

表格包含如下数据内容:
设置界面如下:
结果显示界面如下:
注:报表自动在每个year最后做一个总计,这个可以在组件编辑器中设置year的“小计”标识。

另外注意,在最后一列我们没有做中间的汇总统计,实际上,在我们的示例中也没有这个必要。

6、调整单元格的宽度
察看前面的示例,可以很清晰的发现,单元格可以自动调整其宽度,以适应最大字符宽度。

然而有时却不尽人意,如果字符特别的长,这时报表的样式就变得非常难看。

如何解决这种情况呢?让我们采用3种方法进行处理。

最简单的方法就是字组件中,将字符设成多行。

Total
for[Value]
可以看到结果如下:
然而,如果行或列的结果值的字符串长度非常大时,这种方法就不适应了。

这就是cross-tab组件为什么有”Minwidth”,”MaxWidth”属性参数了。

默认情况下,Minwidth值为0,MaxWidth属性值是200,这可以在大部分情况下都适用。

用户可以根据实际需要进行对这个值进行设置。

这样,在我们的示例中,我们设置Minwidth=MaxWidth=50;意思是说单元格在任何情况下都是50个象素值,如果字符串比较小,系统自动调整宽度到50,如果字符串长度比较大,系统还是调整宽度到50,同时,长的部分被分割。

显示结果如下图:
第三种就是手动调整单元格宽度。

这时,需要设置AutoSize属性值为false。

现在可以通过鼠标改变组件的大小。

显示界面如下:
记住,如果取消了组件的自动大小属性,则在报表时,系统不能在调整单元格的宽度和高度,预览时的结果可能如下图:
这时,稍微在调整一下单元格的宽度即可。

7、字体颜色和突出显示
有时我们需要突出显示某些结果值,或通过字体颜色进行区分。

我们在组报表中测试过突出显示方法。

我们使用条件进行设置突出显示,这在报表中是非常有用的。

添加突出显示:在我们的示例中,我们将结果值大于3000的字体颜色改为红色,选中单元格,在工具览中点击按钮,弹处条件设置对话框。

设置参数
value>3000,并改变字体颜色为红色。

点击确定关闭窗口,进行预览:
同样,用户可以设置全部的单元格,行和列的值。

同为比较常用的报表工具,FineReport对交叉报表的解决方案与FastReport有所不同,具体如下:
1.概述
交叉表,也是常见的基本报表类型,分组报表只是从上到下将数据分组显示,而交叉表则是从上到下、从左到右都将数据分组的报表,如下图:
FineReport天然支持行列对称,设计交叉表的方法也很简单。

2.制作步骤
2.1新建工作簿,添加数据集
新建工作薄,添加数据集ds1,SQL语句为SELECT*FROM[销量]。

2.2制作交叉表
设计好表样后,将数据列拖入对应单元格:
纵表头:地区与销售员默认纵向扩展实现从上到下分组;
横表头:将产品类型与产品设置为从左到右扩展,让产品横向分组,实现横表头;
数据:根据父子格的概念,销量会以销售员为左父格,产品为上父格,自动匹配出销售员与产品对应的销量。

预览即可看到上图交叉表。

注:此处销售员与产品对应的销量是唯一的,因此,直接将销量拖入单元格即可。

另:若销售员与产品对应的销量不唯一,则将销量数据列的显示方式设为汇总-求和,详细请查看数据显示方式。

2.3其他设置
排序、突出显示以及字体颜色调整参考具体章节
2.4保存发布。

相关文档
最新文档