FastReport Online Designer中文教程:数据处理

FastReport Online Designer是一个RIA应用程序(富网页应用程序),允许你从任何拥有先进网页浏览器的任何设备上运行它。

>>立即在线体验FastReport Online Designer

1. 数据源

FastReport Online Designer中不能增加数据源。但是,如果你打开已添加了数据源的报表,它将会显示在“Data”窗口。你可以将字段从数据源拖动到报表页面。这样就会创建一个带有数据字段的文本对象。

bubuko.com,布布扣

源数据可以包含相关表,用于创建主从报表,主表中的一个记录可匹配详细表中一个或多个记录。上图显示了一个与其Categories表连接的Products表。虽然FastReport Online Designer不能创建关系,但允许使用报表中已经存在的关系。

2.系统变量

变量描述
Date报表启动的日期和时间
Page当前报表页码
TotalPages报表的总页码数
PageN页码形式:"Page N"
PageNofM页码形式:"Page N of M"
Row#分组中的数据行数
AbsRow#数据行的绝对值
Page#当前报表页码
TotalPages#报表中的总页码数
HierarchyLevel分层报表中的当前层次,顶层等于1
HierarchyRow#分层报表中完整的行号,例如“1.2.1”

3.函数

FastReport.Net包含大量内置函数(60+)。所有函数都分成几类,并通过“Data”窗口进行访问:

bubuko.com,布布扣

在报表中插入函数的方法如下:

  • 从“Data”窗口将函数拖到报表页面,将会创建一个包含函数的文本对象,但你需要编辑文本添加函数的参数;
  • 将函数拖放到脚本代码中;
  • 在表达式编辑器中的数据窗口副本中 - 你可以从中拖动项目以及在表达式文本中将其删除。

3.1.运算类

函数参数示例
Abssbyte value
short value
int value
long value
float value
double value
decimal value
Abs(-2.2) = 2.2
Acosdouble dAcos(0) * 180 / Math.PI = 90
Asindouble dAsin(0) = 0
Atandouble dAtan(1) * 180 / Math.PI = 45
Ceilingdouble d
decimal d
Ceiling(1.7) = 2
Cosdouble dCos(90 * Math.PI / 180) = 0
Expdouble dExp(1) = 2.71828
Floordouble d
decimal d
Floor(1.7) = 1
Logdouble dLog(2.71828) = 1
Maximumint val1, int val2
long val1, long val2
float val1,float val2
double val1, double val2
decimal val1, decimal val2
Maximum(1,2) = 2
Minimumint val1, int val2
long val1, long val2
float val1,float val2
double val1, double val2
decimal val1, decimal val2
Minimum(1,2) = 1
Rounddouble d
decimal d
Round(1.47) = 1
Sindouble dSin(90 * Math.PI / 180) = 1
Sqrtdouble dSqrt(4) = 2
Tandouble dTan(45 * Math.PI / 180) = 1
Truncatedouble d
decimal d
Truncate(1.7) = 1

3.2.文本类
注意:

  • 这些函数不会修改传递的字符串值,只是返回一个新的修改后的字符串。
  • 字符串中的第一个字符指针为0。在处理字符指针相关的函数时需牢记。
函数参数示例
Ascchar cAsc(‘A‘) = 65
Chrint iChr(65) = ‘A‘
Insertstring s, int startIndex, string valueInsert("ABC", 1, "12") = "A12BC"
Lengthstring sLength("ABC") = 3
LowerCasestring sLowerCase("ABC") = "abc"
PadLeftstring s, int totalWidthPadLeft("ABC", 5) = " ABC"
PadRightstring s, int totalWidthPadRight("ABC", 5) = "ABC "
Removestring s, int startIndexRemove("ABCD", 3) = "ABC"
Replacestring s, string oldValue, string newValueReplace("A00", "00", "BC") = "ABC"
Substringstring s, int startIndexSubstring("ABCDEF", 1, 3) = "BCD"
TitleCasestring sTitleCase("john smith") = "John Smith"
Trimstring sTrim(" ABC ") = "ABC"
UpperCasestring sUpperCase("abc") = "ABC"

3.3.日期和时间类

函数参数示例
AddDaysDateTime date, double valueAddDays(#7/29/2009#, 1) = #7/30/2009#
AddHoursDateTime date, double valueAddHours(#7/29/2009 1:30#, 1) = #7/29/2009 2:30#
AddMinutesDateTime date, double valueAddMinutes(#7/29/2009 1:30#, 1) = #7/29/2009 1:31#
AddMonthsDateTime date, int valueAddMonths(#7/29/2009#, 1) = #8/29/2009#
AddSecondsDateTime date, double valueAddSeconds(#7/29/2009 1:30:01#, 1) = #7/29/2009 1:30:02#
AddYearsDateTime date, int valueAddYears(#7/29/2009#, 1) = #7/29/2010#
DateDiffDateTime date1, DateTime date2DateDiff(#1/2/2009#, #1/1/2009#) = 1.00:00:00
DateSerialint year, int month, int dayDateSerial(2009, 7, 29) = #7/29/2009#
DayDateTime dateDay(#7/29/2009#) = 29
DayOfWeekDateTime dateDayOfWeek(#7/29/2009#) = "wednesday"
DayOfYearDateTime dateDayOfYear(#7/29/2009#) = 210
DaysInMonthint year, int monthDaysInMonth(2009, 7) = 31
HourDateTime dateHour(#7/29/2009 1:30#) = 1
MinuteDateTime dateMinute(#7/29/2009 1:30#) = 30
MonthDateTime dateMonth(#7/29/2009#) = 7
MonthNameint monthMonthName(1) = "January"
SecondDateTime dateSecond(#7/29/2009 1:30:05#) = 5
YearDateTime dateYear(#7/29/2009#) = 2009

3.4.格式类

函数参数示例
Formatstring format,params object[] args?
FormatCurrencyobject value, int decimalDigitsFormatCurrency(1.25, 1) = "$1.3"
FormatDateTimeDateTime valueFormatDateTime(#1/1/2009 1:30#) = "01/01/2009 1:30:00 AM"
FormatNumberobject valueFormatNumber(1234.56) = "1,234.56"
FormatPercentobject valueFormatPercent(0.15) = "15.00%"

3.5.转换类

函数参数示例
ToBooleanobject valueToBoolean(1) = true
ToBoolean(0) = false
ToByteobject valueToByte("55") = 55
ToCharobject valueToChar(65) = ‘A‘
ToDateTimeobject valueToDateTime("1/1/2009") = #1/1/2009#
ToDecimalobject valueToDecimal(1) = 1m
ToDoubleobject valueToDouble(1) = 1
ToInt32object valueToInt32(1f) = 1
ToRomanobject valueToRoman(9) = "IX"
ToSingleobject valueToSingle(1m) = 1f
ToStringobject valueToString(DateTime.Now) = "08/09/2009 4:45:00 PM"
ToWordsobject value, string one, string manyToWords(124, "page", "pages") = "One hundred and twenty-four pages"
ToWordsEnGbToWordsEnGbToWordsEnGb(1, "page", "pages") = "One page"
ToWordsRuobject valueToWordsRu(1024.25) = "Одна тысяча двадцать четыре рубля 25 копеек"

3.6.流程类

函数参数示例
Choosedoubleindex, paramsobject[] choiceChoose(2, "one", "two", "three") = "two"
IIfbool expression, object truePart, object falsePartIIf(2 > 5, "true", "false") = "false"
Switchparams object[] expressionsSwitch( a> 0, "а greater than 0", a< 0, "а less than 0", a == 0, "а equals to 0")

4.Totals

在许多报表中,我们可能需要显示一些汇总信息:组总数,列表的行数等。 FastReport使用Totals来完成此任务,但你需要指定以下参数:
合计函数的类型;

  • 表达式。“Count”函数则不需要以指定表达式;
  • 条件;
  • 用于处理该函数的数据band;
  • 用于打印合计值的band。

合计函数列表如下:

函数描述
Sum计算表达式的总和
Min计算表达式中的最小值
Max计算表达式中的最大值
Average计算表达式中数值的平均值
Count返回行数

可通过点击"Data"窗口中带有加号的绿色图标添加函数,如下图:

bubuko.com,布布扣

然后,在属性页面设置参数,将Totals拖到报表页面,点击红色图标即可删除已添加的Totals。

5.报表参数

你可以在报表中定义参数,参数是一个变量,其值既可在报表里面指定又可在外面指定。参数可以在表达式中使用,并显示在像“Text”之类的报表对象中。
最常见的参数使用方法:

  • 根据参数的条件设置进行数据过滤;
  • 在报表中打印参数值。

Parameters有以下属性:

属性描述
Name参数的名称,可以含有除了“.”以外的任何符号
DataType参数日期类型
Expression返回参数值的表达式
Value参数值

“Name”和“DataType”属性必须设置,“Expression”属性可以为空。在这种情况下,参数的值应通过编写代码进行传入。
可通过点击"Data"窗口中带有加号的绿色图标添加参数,如下图所示,并在“Properties”窗口中进行设置,然后你就可以将参数拖到报表页面进行数据过滤了:

bubuko.com,布布扣

点击红色图标即可删除已添加的Parameter。

FastReport Online Designer中文教程:数据处理

原文:http://huang-xiaok.iteye.com/blog/2258551

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 设计 7 1.1、控制键 8 1.2、鼠标操作 9 1.3、工具栏 10 1.3.1、设计模式工具栏 10 1.3.2、“标准”工具栏 10 1.3.3、“文本”工具栏 11 1.3.4、“边框”工具栏 12 1.3.5、“对齐”工具栏 12 1.4、设计选项 13 1.5、报表设置 15 1.6 页面设置 16 第二章 创建报表 19 2.1、报表对象 20 2.2、“世界,你好!”报表示例 20 2.3、“Text”组件 21 2.4、在“Text”组件中使用HTML标记 23 2.5、通过“Text”组件显示公式 24 2.6、FastReport中的Bands 25 2.7、Data Band 26 2.8、TfrxDBDataSet组件 27 2.9、“客户列表”报表 27 2.10、通过text组件显示数据表字段 29 2.11别名 30 2.12、变量。 30 2.13、“Picture”控件 32 2.14、图形报表 33 2.15、多行文本显示 34 2.16、文本拆分 36 2.17、组件的Wrap 37 2.18、显示数据表中的数据 38 2.19、标签式打印 40 2.20、子bands 42 2.21、组件的移动 43 2.22、两个数据阶的报表(主—细) 43 2.23、页首和页尾数据Band 46 2.24、多页报表 47 第三章 分组集合体 50 3.1、分组打印 51 3.2、其他分组特性 53 3.3页码的重设 55 3.4、组的操作 55 3.5、行数 56 3.6、函数集 57 3.7、页和报表的统计 60 3.8、插入汇总函数 61 第四章 格式化、加强 62 4.1、格式化输出结果 63 4.2、内嵌格式化 63 4.3、条件显示 65 4.4、分行显示数据行的颜色 66 第五章 嵌套报表 68 5.1嵌套报表 69 5.2、设计子报表 69 5.3、子报表中的限制 69 5.4、PrintOnParent选项 70 第六章 脚本 72 6.1、体验脚本语言 73 6.2、脚本结构 76 6.3、“世界你好!”脚本 78 6.4、脚本中组件对象的使用 79 6.5、调用报表变量列表中的变量。 79 6.6、调用数据表子段 80 6.7、脚本中调用汇总函数 80 6.8、报表中变量值的显示 80 6.9、事件 81 6.10、一个使用“OnBeforePrint”事件的例子 82 6.11、在组头打印组的汇总信息 84 6.12、“OnAfterData”事件 88 6.13、Service组件 89 6.13.1、Report组件 89 6.13.2、Engine组件 90 6.13.3、“OutLine”组件 91 6.13.4、引擎组件的使用 91 6.15 Anchors 94 6.16 “Outline” 组件的使用方法 96 6.17 “OnManualBuild” 页面事件 98 6.18 脚本中的组件的建立 104 第七章 交叉报表 106 7.1、创建交叉报表 108 7.2、改变显示 110 7.3、使用函数 112 7.4、对结果进行排序 112 7.5、组合标题的表格 113 7.6、调整单元格的宽度 115 7.7、字体颜色和突出显示 117 7.8、使用脚本语言管理组件 118 7.9、调整行和列的大小 123 7.10、手动填充表格单元 124 7.11、在表格单元中加入其他组件 126 7.12、一些有用的设置 129 第八章 制图表 132 8.1、chart数据中数字的限制 137 8.2、设置 137 8.3、指定数字制表 138 8.4、利用脚本进行制表 139 8.5、在delphi环境中创建的报表的打印 139 第九章 点阵报表 140 9.1、点阵报表使用交叉报表 144 9.2、点阵报表的打印 145 9.3、命令组件 146 第十章 对话框窗体 147 10.1、控件 148 10.2、“世界你好!”报表 149 10.3、输入参数,并传递到报表中 150 10.4、组件的交互 150 10.5、多个对话框表单 151 10.6、对话框窗体的管理 152 第十一章 数据访问组件 155 11.1、组件的描述 156 11.1.1、TfrxDBLookupCombobox组件 157 11.1.2、TfrxADOTable组件 157 11.1.3、TfrxAdoQuery组件 159 11.1.4、TfrxADODatabase组件 161 11.2、创建报表 161 11.3、简单的列表式报表 162 11.4、参数查询报表 163 11.5、其他可用配置 164 第十二章 报表的继承性 166 12.1、创建报表 167 12.2、修改基础模板 169 12.3、组件的继承 170 第十三章 报表向导 171 13.1、新报表向导 172 13.2、数据连接向导 175 13.3、新table向导 176 13.4、新query向导 177 13.5、查询语句生成 177 第十四章 报表的预览 打印 导出 180 14.1、控制键 182 14.2、鼠标控制 182 14.3、报表的打印 183 14.4、报表中的文字搜索 183 14.5、报表的导出 184

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值