FastReport打印模板制作手册.docx

上传人:小飞机 文档编号:4884511 上传时间:2023-05-21 格式:DOCX 页数:18 大小:265.06KB
返回 下载 相关 举报
FastReport打印模板制作手册.docx_第1页
第1页 / 共18页
FastReport打印模板制作手册.docx_第2页
第2页 / 共18页
FastReport打印模板制作手册.docx_第3页
第3页 / 共18页
FastReport打印模板制作手册.docx_第4页
第4页 / 共18页
FastReport打印模板制作手册.docx_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《FastReport打印模板制作手册.docx》由会员分享,可在线阅读,更多相关《FastReport打印模板制作手册.docx(18页珍藏版)》请在三一办公上搜索。

1、FastReport打印模板制作手册常用功能汇总一. 常用控件文本框:输入文字或表达式I表格:设置表格的行列数,输入数字或表达式 I子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表。系统在打印处理时,先按主报表打印,当碰到子报表时会自动转入子报表的页面进行打印处 理,完成后继续执行主报表打印的工作,所以我们又称之为嵌套报表。I复选框:根据布尔表达式是否为ture来显示是否”(如性别男女)删条形码:绑定扫描码(如静滴单),一般Type为Code128 叮交叉表 :Matrix 色页面设置:设置纸张大小及页边距边框设置:设置是否显示上下左右边框以及边框线条的设置=边框宽

2、度:下拉三角可以选择边框宽度设置 j边框样式设置:下拉三角可以选择边框样式设置二. 常用报表栏报表标题区(ReportTitle):仅在第一页显示在纸张的上部。一般用于打印报表的标题等信息。 报表合计(ReprotSummary):仅显示在所有数据的最后末尾。一般用于打印统计信息等。 页眉(PageHeader):显示在每页的最上部。通过设置你可以让它置于报表抬头之上或者之下。 一般用于打印页眉信息等。数据区(data):绑定数据源显示数据。数据首(Header):显示在所有数据源的最上部,仅打印一次。一般用于显示相关摘要信息, 与页眉的区别是当该页无数据时,数据首的内容不显示且仅显示一次。数

3、据尾(Footer):显示在所有数据源的最下部,仅打印一次。一般用于显示所有数据的合计 信息。栏首(ColumnHeader):显示在每页数据源的上部,它在每页均显示。因此一般用于打印数据 源字段的栏目信息。栏尾(ColumnHeader):显示在每页数据源的下部,它在每页均显示。一般可用于统计显示每 页数据的页合计信息。分组页眉(GroupHeader):用于显示分组数据,在每一个分组开始显示。分组页脚(GroupFooter):与群组首一一对应。一般用于显示分组数据的统计信息。页脚(PageFooter):显示在每页的最底部。一般用于打印页序等信息。三. 常用功能1. 添加报表栏将光标置于

4、“设置报表拦”弹出“段编辑器”,再选择添加或删除段。添加段的时候要注意:1)选择添加段的位置,如想添加子数据区,则选中要添加父数据区,点击添加“数据区”即可,如图所示:加 Psgeyooterl2)若添加的数据区与原数据区平级,任选段(除数据区外),点击添加“数据区”即可,如图所示:浦单塑眼竺1_| 削!。ftgfcX&ctei-l1没翻耗. .J报表标题区页周裁据区页晰J1Ju.Y云言叶K百rt|;l苜瞧标题区:虾心膈_jj2.添加数据源善*2纹丸M:J侦 14m子程奏3竟互m页罔;I1%团eaierl 福 Batal 糊区瞄 页阳:?善虹1选择菜单栏的“数据”,在下拉框中选中“选择数据源”

5、,弹出“选择报表数据”框,里面会列出已经传出的数据源,勾选需要的数据源,点击确定,此时界面右边“数据”列表中即显示当前所选中的数据源,选中数据源,右键选择“查看数据”,即可显示当前数据源中所含有的数据:数据如迭择数据源.1添加数据源. . 显示数据源I适肝擢表勒肝选控报表中夏At用的ift.ta源和丰程.El EFTI EnpJ.oy44田l CatcfiDries田Cnxi-=E匚E Qr4 tuls.田R Drdr k匚Tl EYoducts田3 Khipptrs田SupplLiri.田匚WfttYixDcr&田Una codsB CA.t4jariw5 fiogJlK5dJbj4C t琳

6、定n心i- 数据源* Employees 3系凝E含计面参数Ztr F1JTLC 1X i_7新建计算列至命名删朕查看数据.F21 9 0?L叩 F!J咖 alDLulF*FlrilliH TuLTillt6ZxfLrli心血Hljdialh:93lrinctlMJet丽SiIrs FfjnsaitbliTth.心nFia idirn:.DtJtMijJiiE*isem皆5侦1割,1由料周JSEZZ由 5JL蜜INH4.IM谕W3顷 W1收顽汹U.盼 1. mmk4FibKidsIueH 朝” Ifjnsaitblii* hiiwn m【期灿血HID皿欧蛔M M即可,如图:对于一些报表,在汇总

7、项编辑器中添加汇总数据源。在汇总名称一栏可以自命名一个合计名称;3. 添加系统变量对于部分变量可能取自当前系统,如时间,页码,序号等,此时选择系统变量中相应的变量-系统安里:奖F;屹也:奕 r u t=ilPigHE,A PageNA. PageHcifM|矣 Row#:奖 Xb sEw#奖F乏苣吧#奖 T;t=iir=xges#A GopyNiiiri e#.Hi er:ii_chyLeTielA Mi er:ii_chyRuw#4. 添加汇总需要在数据尾添加合计行,此时需要手动添加合计,弹出汇总项编辑器,再“公式”一栏中可以选择汇总的类型,常用的为合计:在“数据列或公式”中可以选择汇总的数

8、据源;在“计算段中每一列”可以选择参与汇总的数据区;在“计算满足下面条件的行”中可以做过滤,在写total时会出现计算某种类型的和,计算总人次分在职和退休之和,此时在写total时就需要写限制条件进行过滤。比如 如LS项垢街忑一Table1.GRXZ=1;如图:w nen后ssr段天醐至景r包含不可困行雌 | 郸肖在段上打印指汇总的数据在哪个报表拦上显示;选项中列举的复选框可以根据报表&单据要求进行选择;5. 添加过滤、排序、分组双击数据区,弹出“编辑数据段”,可以进行数据源的选择、排序、过滤。如图:对于分组显示的数据,则需要在分组页眉添加分组条件。四. 常用属性1.页面设置用于显示总的页数(

9、TotalPages),例如:页脚显示第1页/共20页。系统第一遍扫 描报表时计算出TotalPages,然后第二遍实际生成报表。如果不使用Double pass,则 TotalPages返回0,所以必须设置report的属性doublepass为true设置方法:点击报表树,单击报表树最顶端图标,点击属性,选择doublepass为true; 也可直接在属性框中选择report,进行相关属性设置!如图:Ant uFillllat aSet TrueCurLvertlhill eReport - 匚:U旦心wVLiuqi。直/口1 住旦kto: aDi:! util &P :E ET:=l1e

10、 t!TrueTrue2. 打印设置对于套打模板,样式在纸张上已经固定了(如处方笺、收费发票),只需要按照原定的 样张将数据填充进去,在绘制的时候,需要用直尺良好尺寸,为了能够有一个更好的效果, 一般把页面上已经存在不需要再打印出来的也画出来,但是需要设置属性“printable”为false: 表示打印不显示,若想在预览的时候就不要看到那些不需要打印的,则需设置属性“Visible” 为false:表示预览不显示。3. 格式设置报表中有的数据需要按照规定的格式去显示,如需要把时间的格式改变一下,选中当前 数据,右键单击,点击format(或在属性栏中选择format),在弹出的选择格式框中选

11、择 需要的格式。若format中没有需要的格式,则需要在custom中自定义,比如我需要把时间 设置为2012-09-09 11:22:23,此时可以在custom中填时间显示格式:yyyy-MM-dd HH:mm:ss。 注意有的需要显示上午还是下午,表示上午下午的格式是tt,具体相关设置可以参照已存在 的format进行编辑!如图:4. 显示设置对于有些数据,名称较长,在行高固定的情况下,系统默认为自动换行,此时两者均不能完(卒口%)注射用唳拉西林啊也全显示不能完全显示,比如,此时按照客户的需求,若要求自动截断,则设置“Wordwrap”为false (即不自动换行),若要求全部显示,则需

12、要让 该数据有按照单元格大小自动缩放功能,设置属性“AutoShrink”为fontsize或者fontwith。5. 边框设置边框可以通过工具栏设置,此时设置边框是根据外界框的大小来显示,下边框的设置也可以通过设置下划线,此时下边框的长度是根据数据显示的长度来决定,还可以设置属性 “underline”为true,此时也是根据边框的大小来显示的。6. 表格设置1)表格的行列数:通过属性设置ColumnCount (列)和RowCount (行)设置。2)合并/分割单元格:选中需要合并/分割的单元格,右键单击,选择“合并单元格”/“分割 单元格”,如图:3)插入行列:选中某行、某列,右键单击,

13、选择需要插入的位置,如图:左讪底入列 右边届入列之前插入行 之后十由入.行白动大小白劫力小剪切*剪切粘贴粘财删除(插入列)X(插入行)五. 常用代码1.在文本编辑器中编写Fastreport软件自身带了很多功能实现数据的转换,直接在编辑框中即可实现。it i 心L 白 tDat e & T ime常用的功能有:白白C onwersi onT&B ocle an T&ByteT?D ateT imm T?DcimalI ?D ciibleToIntSZToRoniaiLToSingle转换语句选择语句IFF;控制语句Switch;E |i SuB s tr i ng!a Sub string (

14、e tri ng, int)A Sub string (.s tr i ng., i nt, int.)ToStri ng截取字符串语句SubString,在text列表中选择SubStringBa,七己 & Tine截取时间语句Date&Time:A-i-dDys ddHoursA. ddil: nut 3 Mifflonths Ad.d5-:n.ds ddYears DateBiff II a t aS; Pt isDavD呻0.星期PjElrjW tiTitJiM jnuta M :-n-thm gthir皿 qS -:id. /Y皿 /算数运算语句Mathematical:吒UmUm

15、L L 1Irn n litallllw poo&Lxini r- E t e oA1 o:.-1 AAACCEFLMM 也回国口国回归饲口口同回回回旧EmEir tTaxLTruTLcate常用的有Abs (取绝对值)。注意,在运用这些function的时候,在文本编辑器右下角会显示当前功能的用法规则,如图:SaAai t cHobj ect Sw11 ch Ip arair5 ubj ect L espressi onsJR- M Fr o 51- iiTi Fl -is C11.O O3E i.-炒XXt!.-回 JIRlLZL若当前数据类型不满足规则,则需要利用上面的转换语句,将其转换

16、成与规则相符的数据类 型,才能利用这些function,否则会报错。2.在code区编写有些数据的转换在编辑器中不能直接实现,需要在code区域编写代码。写代码之前需 要定义到相应的事件上:选中需要写代码的数据所在的报表拦,在属性设置中点击,在 事件中双击需要用到的事件,自动跳转到code区,且会出现一行代码,类似于private void GroupHeader1_BeforePrint(object sender, EventArgs e)报表中常用事件有BeforePrint, AfterPrint。3.常用代码1) Data1.InitDataSource();/数据初始化,用于数据跑

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

18、umnValue(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(d

19、tfee.Quantity);Cell51.Text=sl.ToString(0.00);/ 0.00若不填则按照默认值显示,后面多少个零显 示出来的数据即为有多少个小数;对于数量,有时要求要求有小数时则显示小数,无小数时 则显示整数,此时只需要将0.00”改为0.#即可,的个数也是可以自定义的,表示显示 的最多的小数位特殊功能汇总一.打印中实现空表格填满剩余的空行,达到指定的行数。1.单页显示指定行数为了能让数据在未填满的前提下,该页也能显示指定的行数N,需要在数据区(data)添加子报表(child),且需要设置其属性最少数据行(CompleteToNRows)为N。Child_ Row#

20、Childl:ColiJirin FoAdi Child BandHyperlirik.Can GrowCan ShrinkCan Bre:ikFill UnuEed SpaceComplete upto N data rows:Start New PagePrint On BottomPasteDelete2按照数据行数显示指定行数按照1的设置,预览的时候会发现该操作只会控制首页满足条件,当数据的行数超过一页时, 后面页均按照有多少数据显示多少行,此时需要写代码控制。如:private void PageHeader1_AfterPrint(object sender, EventArgs

21、e) if (Engine.FinalPass)Child1.CompleteToNRows = (Int32)Report.GetVariableValue(TotalPages) * 20;按照总页数*20来控制CompleteToNRows。此时报表拦中的child区CompleteToNRows设置为1,如图:ChildRov#Ckildl:CoLujTin FoPage FootHj-erlirik.Cm GrCm ShrinkCan Bre:dkFi.ll Uruised SpaceCumpLete upto N data rows: St:=Lf t New F agePrint

22、 On BottomAdd Child Band(参照医保报表)二本页合计和本期合计1.本页合计在每页均会显示,且统计当前页相关数据的和。此时勾选“打印后重置”项,再将合计项移到相应的位置即可。如图:2.本期小计在每页均会显示,但是指在数据的最后一页显示合计的数据,统计当前报表的所有数据 和;需要写total来计算当前值,只是本期小计中打印后重置这个属性不勾选,由于本期小 计只在最后一页显示数据,其他页面上数据区均为空,需要代码控制,例如:private void ColumnFooter1_BeforePrint(object sender, EventArgs e)if(Int32)Rep

23、ort.GetVariableValue(Page)!=(Int32)Report.GetVariableValue(TotalPages) )/设置显示本期小计需要的条件,即当前页与总页数相一致的时候,开始显示数据,否则 为空。三交叉表的用法(演示)参照模板 收费员结账汇总报表.frx注意交叉表的行列宽度不需设置,自动按照数据长短进行设置。四.套打模板(演示)参照模板 门诊挂号发票(套打).frx,处方笺(综合).frx挂号发票的模板注意,在周浦项目中,由于处方笺模板不一样,在医生工作站会根据选择调用不同的模板, 此时是将几种不同的模板组合在一块,再根据标志调用相应的模板。五.超链接模板(演

24、示)报表&单据导入一.单据导入单据即由开发直接传入数据源,在模块中实现单据的绘制。步骤:找到相对应的模块,点击打印,进入空白模板,再进行设计。对于已经绘制好的模板, 可以直接导入,但注意,必须在本地把数据源清空,再导入,否则将会出现data区重复, 导致命名出现异样,如data11。有些模板即使清空数据源导入到模板,仍然会报错,则需要重新新建一个模板,再将原模板 的东西复制进去即可。相关联的表有:select * from Common.ReportTemplate二.报表导入报表即由存储过程实现,然后再对应到相应的存储过程,去存储过程中的数据。步骤:报表管理3新建报表3填写相应的信息后保存(

25、演示)3绘制模板注意:填写信息时要绑定正确的存储过程,同时通过前台改变相应的界面显示效果。添加数据源:选择sql,再选择相应的存储过程,确定即可,对于新建的模板,模板一栏不 需要选择,若选择了则会调用以前存在的模板,同时改动的话也会影响以前的模板。- llnil xj名称CoiunaxL up_ipt_Che cteautS eti 1 Bn.eniQpR&pai t Coiunan. xip_ip t_DruESenidNoneTByKFIl epl CoiunaiL up_ipt_Finanjc elncane 51 ats t ic Loiudoil vp_ipt_HRc cip ePl

26、 eNaRea lpcNd Cdiurion. up_ipt_Inc ameChe ckOutRepor t CoiunaiLa up_ipt_Itanra talCruupbyDept CojuiiOTL up_ir t JS insde eRepor tCoiunan.a iipptedicaLBusine mm Inc oneR&p ori CoiunoiL. ujj_Tpt_OPD oci orC omf irnl teinKep ar 1 CoiunaiL iip_ipt_Operat ionXeques t Queryselect * from Common.Reportselect * from Common.ReportDataSourceselect * from Common.ReportTemplateselect * from Common.ReportFolderselect * from Common.ReportParameter说明:fastreport自身带有Demo,里面很多功能都是可以供大家学习参考的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号