欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FastReport Online Designer中文教程:数据处理 web报表设计器报表工具.net报表控件 

程序员文章站 2022-06-04 11:24:44
...

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

>>立即在线体验FastReport Online Designer

1. 数据源

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

FastReport Online Designer中文教程:数据处理
            
    
    
        web报表设计器报表工具.net报表控件 

源数据可以包含相关表,用于创建主从报表,主表中的一个记录可匹配详细表中一个或多个记录。上图显示了一个与其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”窗口进行访问:

FastReport Online Designer中文教程:数据处理
            
    
    
        web报表设计器报表工具.net报表控件 

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

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

3.1.运算类

函数 参数 示例
Abs sbyte value
short value
int value
long value
float value
double value
decimal value
Abs(-2.2) = 2.2
Acos double d Acos(0) * 180 / Math.PI = 90
Asin double d Asin(0) = 0
Atan double d Atan(1) * 180 / Math.PI = 45
Ceiling double d
decimal d
Ceiling(1.7) = 2
Cos double d Cos(90 * Math.PI / 180) = 0
Exp double d Exp(1) = 2.71828
Floor double d
decimal d
Floor(1.7) = 1
Log double d Log(2.71828) = 1
Maximum int val1, int val2
long val1, long val2
float val1,float val2
double val1, double val2
decimal val1, decimal val2
Maximum(1,2) = 2
Minimum int val1, int val2
long val1, long val2
float val1,float val2
double val1, double val2
decimal val1, decimal val2
Minimum(1,2) = 1
Round double d
decimal d
Round(1.47) = 1
Sin double d Sin(90 * Math.PI / 180) = 1
Sqrt double d Sqrt(4) = 2
Tan double d Tan(45 * Math.PI / 180) = 1
Truncate double d
decimal d
Truncate(1.7) = 1

3.2.文本类
注意:

  • 这些函数不会修改传递的字符串值,只是返回一个新的修改后的字符串。
  • 字符串中的第一个字符指针为0。在处理字符指针相关的函数时需牢记。
函数 参数 示例
Asc char c Asc('A') = 65
Chr int i Chr(65) = 'A'
Insert string s, int startIndex, string value Insert("ABC", 1, "12") = "A12BC"
Length string s Length("ABC") = 3
LowerCase string s LowerCase("ABC") = "abc"
PadLeft string s, int totalWidth PadLeft("ABC", 5) = " ABC"
PadRight string s, int totalWidth PadRight("ABC", 5) = "ABC "
Remove string s, int startIndex Remove("ABCD", 3) = "ABC"
Replace string s, string oldValue, string newValue Replace("A00", "00", "BC") = "ABC"
Substring string s, int startIndex Substring("ABCDEF", 1, 3) = "BCD"
TitleCase string s TitleCase("john smith") = "John Smith"
Trim string s Trim(" ABC ") = "ABC"
UpperCase string s UpperCase("abc") = "ABC"

3.3.日期和时间类

函数 参数 示例
AddDays DateTime date, double value AddDays(#7/29/2009#, 1) = #7/30/2009#
AddHours DateTime date, double value AddHours(#7/29/2009 1:30#, 1) = #7/29/2009 2:30#
AddMinutes DateTime date, double value AddMinutes(#7/29/2009 1:30#, 1) = #7/29/2009 1:31#
AddMonths DateTime date, int value AddMonths(#7/29/2009#, 1) = #8/29/2009#
AddSeconds DateTime date, double value AddSeconds(#7/29/2009 1:30:01#, 1) = #7/29/2009 1:30:02#
AddYears DateTime date, int value AddYears(#7/29/2009#, 1) = #7/29/2010#
DateDiff DateTime date1, DateTime date2 DateDiff(#1/2/2009#, #1/1/2009#) = 1.00:00:00
DateSerial int year, int month, int day DateSerial(2009, 7, 29) = #7/29/2009#
Day DateTime date Day(#7/29/2009#) = 29
DayOfWeek DateTime date DayOfWeek(#7/29/2009#) = "wednesday"
DayOfYear DateTime date DayOfYear(#7/29/2009#) = 210
DaysInMonth int year, int month DaysInMonth(2009, 7) = 31
Hour DateTime date Hour(#7/29/2009 1:30#) = 1
Minute DateTime date Minute(#7/29/2009 1:30#) = 30
Month DateTime date Month(#7/29/2009#) = 7
MonthName int month MonthName(1) = "January"
Second DateTime date Second(#7/29/2009 1:30:05#) = 5
Year DateTime date Year(#7/29/2009#) = 2009

3.4.格式类

函数 参数 示例
Format string format,params object[] args  
FormatCurrency object value, int decimalDigits FormatCurrency(1.25, 1) = "$1.3"
FormatDateTime DateTime value FormatDateTime(#1/1/2009 1:30#) = "01/01/2009 1:30:00 AM"
FormatNumber object value FormatNumber(1234.56) = "1,234.56"
FormatPercent object value FormatPercent(0.15) = "15.00%"

3.5.转换类

函数 参数 示例
ToBoolean object value ToBoolean(1) = true
ToBoolean(0) = false
ToByte object value ToByte("55") = 55
ToChar object value ToChar(65) = 'A'
ToDateTime object value ToDateTime("1/1/2009") = #1/1/2009#
ToDecimal object value ToDecimal(1) = 1m
ToDouble object value ToDouble(1) = 1
ToInt32 object value ToInt32(1f) = 1
ToRoman object value ToRoman(9) = "IX"
ToSingle object value ToSingle(1m) = 1f
ToString object value ToString(DateTime.Now) = "08/09/2009 4:45:00 PM"
ToWords object value, string one, string many ToWords(124, "page", "pages") = "One hundred and twenty-four pages"
ToWordsEnGb ToWordsEnGb ToWordsEnGb(1, "page", "pages") = "One page"
ToWordsRu object value ToWordsRu(1024.25) = "Одна тысяча двадцать четыре рубля 25 копеек"

3.6.流程类

函数 参数 示例
Choose doubleindex, paramsobject[] choice Choose(2, "one", "two", "three") = "two"
IIf bool expression, object truePart, object falsePart IIf(2 > 5, "true", "false") = "false"
Switch params object[] expressions Switch( 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"窗口中带有加号的绿色图标添加函数,如下图:

FastReport Online Designer中文教程:数据处理
            
    
    
        web报表设计器报表工具.net报表控件 

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

5.报表参数

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

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

Parameters有以下属性:

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

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

FastReport Online Designer中文教程:数据处理
            
    
    
        web报表设计器报表工具.net报表控件 

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