1、“Reprint headers on new page”决定在各种页面打印时,与否在每个页面当打印输出标题栏。“Side by side cell”:与否容许合并单元格 “Join equal cells”选项,当数值相等时与否可以合并单元格。使用对象查看器属性设立也可以设立这些内容。第 八 章第八章 制图表FastReport容许顾客插入chart制表组件到报表中,这样,在FastReport面板上“TfrxCharObject” 组件就必要应用上。这个组件基于“TeeChart”动态库,在delphi中需要将它包括在工程中。咱们通过如下示例先进行简朴阐明,连接DBDemos中counto
2、ry表,数据内容如下:在delphi环境中创立一种新工程,添加“TTable”,“TfrxChartObject”,“TfrxDBData”,“TfrxReport”组件,并设立属性值:Table1:DatabaseName = DBDEMOSTableName = country.dbfrxDBDataSet1:DataSet = Table1UserName = Country进入到报表设计器页面,并连结设立数据源。在报表设计页上放置一种“chart”组件,并调节其大小(18X8cm)。双击组件,打开组件编辑器窗口。char编辑器区域阐明:1:chart构造,一种chart包具有几种制表系
3、统。2:组件监视器,显示所选组件属性。3:连结chartseries数据属性。开始界面显示如上,一方面添加一种或几种series,在1区点击按钮,添加一种Pie。有许多可用不同类型series。添加一种系列之后,3区被激活。一方面选取数据源,设立Label和pie字段。点击拟定按钮,关闭编辑器窗口,然后预览。还如何改良如下报表呢?一方面,将数据按升序方式进行排序。再次进入编辑器,选取要设立series,在3区设立选项。81、chart数据中数字限制上面制表看上去非常拥挤,在chart中有特别多值,而有些看不见。FastReport可以设立显示数据限制性。因而不被限制值可以在制表中显示。在咱们示
4、例中,包括18个数值,而最多友8个能显示,键入编辑器,进行设立。前几种如果不等于0。则显示在报表中,如果排序没有设立,则采用默认排序。成果如下:82、设立下面阐明一下几种有用设立。这些属性只能在对象监视器中进行设立。如下几种属性可用:Gradient:设立背景填充颜色。Legend :图例一下是series属性:ColorEachPoint:设立每个某些一种颜色ExplodeBiggest:设立最大某些分出。ValueFormat:数字监视格式。83、指定数字制表在上面制表中,咱们使用是数据表中数据进行创立图表。还可以通过手动输入进行制表。这对创立一种小制表系统是非常以便。让咱们示范一下如何工
5、作?在报表设计器中添加一种制表系统,进入编辑器,添加一种“bar chart”类型series,并设立属性:84、运用脚本进行制表将上面xvalue和yvalue属性值取消掉,并在报表中添加如下代码:PascalScript:beginChart1.SeriesData0.XSource := Jan;Feb;Mar;Apr;Chart1.SeriesData0.YSource := 31;28;31;30;end.C+Script:Chart1.SeriesData0.XSource = Jan;Feb;Mar;Apr;Chart1.SeriesData0容许顾客设立第一种series参数,
6、如果制表中有各种series,可以通过SeriesDataData_Number进行设立。85、在delphi环境中创立报表打印如果用delphi代码创立一种报表,并想着打印报表,这需要一种“Picture”组件。在报表设计器相应位置添加一种“Picture”组件。在delphi环境中,在frxReport.OnBeforePrint事件中添加如下代码:procedure TForm1.frxReport1BeforePrint(Sender:TfrxReportComponent);beginif Sender.Name = Picture1 thenTfrxPictureView(Send
7、er).Picture.Assign(Chart1.TeeCreateMetafile(False,end;Picture1是报表中Tpicture组件,chart1是delphi中Tchart组件名称。第 九 章第九章 点阵报表此前报表在普通打印机中打印,如果发送到点阵打印机中,则打印速度非常慢。FastReport容许顾客生成针对点阵打印机报表模式,她只有原则元素,而没有图形等其她特殊元素。这就是为什么会打印速度要快。咱们创立一种List报表,创立点阵报表,此前报表参照客户列表报表。咱们应用相似数据源。在delphi环境中添加一种Ttable,TfrxDBData,TfrxReport,T
8、frxDotMatrixExport组件。并设立属性:TTable:DatabaseName = DBDEMOSTableName = Customer.dbTfrxDBDataSet:DataSet = Table1UserName = Customers进入报表设计器,在“文献|新建”菜单,打开报表向导窗口,选取“Dot-Matrix report”项。点击拟定按钮,生成一种空白报表设计界面。可用组件列表发生变化,只有band、text、line、esc-command、subreport、cross-tab组件。其她组件在点阵报表中不可用。放置Report title、Page head
9、er 、master data band到报表中。在Band上添加“text”组件,如下:点阵报表中组件放置原则和普通报表同样,不同之处,就值放置位置严格相应网格,不能设立字体大小和颜色。选取Text组件,在工具栏中点击“Tt”按钮。如你所见,可以修改字体属性,打印预览报表。91、点阵报表使用交叉报表点阵报表中可用几种组件是可以放在文本报表上使用。其中就有cross-tab组件。咱们示范cross-tab组件和此前例子相类似。点阵报表创立环节和此前报表“Empty dot-matrax widard”相类似。放置一种DB cross-tab组件,并进入编辑器:报表预览:9.2、点阵报表打印以文
10、本模式打印点阵报表,需要组件TfrxDotMatrixExport 。这个组件将报表转换为文本模式进行打印,同步她还代替原则打印对话框。使用如下可用命令:尚有几种打印选项标志。93、命令组件第 十 章第十章 对话框窗体除了可是设计报表页面,在报表中还可以使用对话框窗体。在报表设计器中创立对话框,使用工具栏中按钮,可以创立一种空白对话框,在上面可以添加某些组件。101、控件为了在报表中使用这些组件,需要在delphi设计窗口中添加TfrxDialogControls 或将frxDctrl单元添加到uses列表中。如下组件在报表中即可使用。图标名称描述TfrxLabelControl这个组件可用在
11、对话窗口中作为显示解释性描述文字TfrxEditControl这个组件用于键盘输入单行文本框TfrxMemoControl这个组件可是输入多行文本TfrxButtonControl这个组件绘制一种按钮TfrxCheckBoxControl这个组件绘制一种只有两种状态标志,标志旁边是解释文本。TfrxRadioButtonControl单选按钮TfrxListBoxControl显示可以选取多行列表TfrxComboBoxControl下拉框选取列表TfrxPanelControl工具面板,上面可以放置不同组件TfrxGroupBoxControl带有描述性工具面板。TfrxDateEditCo
12、ntrol下拉框中可选取日期组件TfrxImageControl图形组件,可以容纳BMP,ICO,WMF,EMF格式图形TfrxBevelControl在对话框中绘制图形TfrxBitBtnControl可以支持放置图形按钮TfrxSpeedButtonControl可以支持放置图形按钮TfrxMaskEditControl带格式文本输入窗口控件TfrxCheckListBoxControl多行标志列表控件可以发现,这些组件使用和delphi环境下相应组件相类似。102、“世界你好!”报表在这个示例中,咱们在报表输出之前,用对话框窗口显示一种欢迎窗口。在delphi中创立一种新工程,放置一种f
13、rxReport和一种TfrxDialogContors组件,进入报表编辑器环境,创立一种新窗口。在窗口上添加一种TfrsLebalControl和一种TfrcButtonControl,并设立属性:TfrxLabelControl:Caption = 世界你好!TfrxButtonControl:Caption = OKDefault = TrueModalResult = mrOk设立Bodystyle=bsDialog。你会发现这些组件和窗口属性列表和delphi环境组件属性列表基本相似。然后关闭设计环境,进行预览:点击拟定进入报表预览界面,点击系统关闭按钮,则退出报表。103、输入参数
14、,并传递到报表中让咱们示范如何在对话框窗口中输入参数,并将其值传递到报表中输出。修改上面示例:在报表设计页放置一种text组件,并输入你输入名称:Edit1.Text预览报表,确认你输入文字已经显示到报表中了。同样可以放置其她组件到对话框中。每个组件在整个报表中均有一种唯一名称,可以在报表任何部位进行使用。104、组件交互使用脚本可以很容易得创立一种可以交互报表。咱们变化一下示例进行示范:双击checkbox1组件,创立一种checkbox1onclick事件,并输入如下代码:PascalScript:procedure CheckBox1OnClick(Sender:TfrxComponen
15、t);beginButton1.Enabled := not CheckBox1.Checked;end;C+ Script:void CheckBox1OnClick(TfrxComponent Sender)Button1.Enabled = !CheckBox1.Checked;105、各种对话框表单让咱们示范如下两个对话框如何工作。报表设计器加入组件,并建立两个对话框。预览:106、对话框窗体管理在报表中两个窗口都运营浮现。怎么可以依照条件,隐藏第二个窗体呢?创立一种checkboxOnclick事件。填入代码:PascalScript:procedure Button1OnClick
16、(Sender:TfrxComponent);beginDialogPage2.Visible := CheckBox1.Checked;end;C+Script:void Button1OnClick(TfrxComponent Sender)DialogPage2.Visible = CheckBox1.Checked;这段代码就是隐藏第二个窗口,如果不选中,则隐藏第二个窗口。第二种办法就是在reportOnRunDialogs事件中进行解决。在报表树中选取report,在对象查看器事件页中,双击OnRunDialogs,创立事件并加入代码:PascalScript:procedure f
17、rxReport1OnRunDialogs(var Result:Boolean);beginResult := DialogPage1.ShowModal = mrOk;if Result thenbeginif CheckBox1.Checked thenResult := DialogPage2.ShowModal = mrOk;end;end;C+Script:void frxReport1OnRunDialogs(bool &Result);Result = DialogPage1.ShowModal = mrOk;if (Result)if (CheckBox1.Checked)R
18、esult = DialogPage2.ShowModal = mrOk;第十一章第十一章 数据访问组件常规状况下,大某些报表是基于数据表中数据进行报表。访问数据,delphi中提供有效机制,这些可以用在FastReport。这涉及到“TTable”“TQurey”等数据组件,她们可以和datasource进行连接,她们可觉得报表提供数据源。除了用TfrxDBData组件在delphi环境设立组件可以访问数据表外,在report内部通过数据访问引擎,也可以访问数据表。在FastReport中访问组件和delphi环境组件差不多。和delphi同样,将组件放在窗体上,通过对象查看器设立组件属性。
19、组件形态是灵活,你可以创立一种组件,可以访问不同数据库,加入TfrsDesigner组件,可以让顾客在运营阶段在线进行设计。111、组件描述咱们通过ADO组件来示范这些数据访问组件应用,这需要在工程窗体上添加一种TfrxADOComponents组件。在报表设计器中,切换到data页,这时在组件面板中有“TfrxADOTable”“TfrxADOQuery”“TfrxAdoDatabase”浮现,此时你就可以对话框窗体上使用TfrxDblookupbombox组件了。图标名称阐明TfrxADODataBase顾客连结数据库TfrxADOTAble连接访问数据表TfrxAdoQurey查询访问数
20、据源TfrxDBlookupbombox显示数据表中数据。1111、TfrxDBLookupCombobox组件顾客从数据表中选取数据值。属性简介:属性描述DataSet选取组件可以连结数据源ListField在列表中显示数据数据表字段KeyField相应listField,返回数据数据表字段Text显示在组件上字符串。KeyValue相应Text值数据表中keyField值。1112、TfrxADOTable组件这个组件可以访问数据表,属性简介:属性描述Active设立数据表与否被打开DatabaseName连结数据库名称FieldAliases设立字段别名Filter过滤条件Filtere
21、d设立与否通过过滤条件进行过滤IndexFieldNames索引字段名称IndexName二级索引MasterFields连接主表字段Master连结主表组件TableName连接访问数据表UserName数据表别名FieldAliases属性可以设立表和表字段别名MasterFields和master属性用于建立主-细表构造数据源连接。1113、TfrxAdoQuery组件这个组件可以通过SQL语句进行访问数据表。属性简介属性描述Active设立数据表与否被打开DatabaseName连结数据库名称FieldAliases设立字段别名Filter过滤条件Filtered设立与否通过过滤条件进行过滤SQL输入查询SQL语句MasterFields连接主表字段Master连结主表组件Params设立连接访问数据表时参数UserName数据表别名SQL属性语句输入:Params属性也有编辑器,如果查询带参数,是用编辑器是非常有用。