ActiveReports使用教程:常用工具箱表格控件作用功能概况
ActiveReports 是一款专注于 .NET 和 .NET Core 平台的报表控件。通过拖拽式报表设计器,可以快速地设计 Excel表格、Word文档、图表、数据过滤、数据钻取、精准套打等类型报表,全面满足 WinForm、ASP.NET、ASP.NET MVC、WPF 平台中各种报表的开发需要。同时,通过丰富的 API 可以灵活的实现报表创建、加载和运行时的个性化自定义需求。
概要
表格是用行和列来组织数据的元素。设计状态下,表格默认有三行三列,9个单元格,每个单元格中填有一个文本框。根据需要,可以添加行、列、分组。在RDL报表中,还可以在单元格中嵌入其他数据元素。通过CTRL键与鼠标点击组合操作,或者直接用鼠标划过多行或者多列,可选中多个行列。使用鼠标右键菜单中的【使行高相同】和【使列宽相同】命令,可使多行同高,或是多列同宽。
绑定数据
将一个表格拖放到报表设计区域之后,即可将数据添加到单元格,以实现数据绑定。可以从数据集的字段列表中拖放字段到单元格(注意是第二行上的单元格),也可以通过单元格右上角的小图标按钮选择一个数据集的字段,还可以将单元格的Value属性设置为<表达式>以显示自定义的数据内容(比如:=单价*金额)。单元格的默认控件是文本框,可以从工具箱拖放其他类型的控件到单元格,比如拖放图形(Image)控件到单元格,用于显示图片。
分组
设计状态下,除了默认的三行,可以通过分组添加新的行。添加一个分组时,会添加一个代表【分组头】的行和一个代表【分组尾】的行。分组的典型用途是按类别显示数据,比如产品清单报表,默认按照产品ID排序、显示一览表。设置产品类别为分组,可先按照产品类别、再按产品ID排序,还可以统计每个分组的产品总数,显示在【分组尾】中。
外观
有很多方法控制表格数据区域的外观。可以合并单元格,控制是否可见、文本颜色、背景颜色。可以在单元格内使用图形元素,也可以设置单元格本身的边框,甚至可以锁定表格的行或列头,使之不随滚动条滚动。
属性对话框
表格属性对话框可用于设定表格的属性。打开属性对话框的方法是,选中整个表格,注意不是选中某个单元格,然后点击属性窗格下方的【属性对话框…】链接。
【常规】
名称:控件名称,本报表范围内要保证唯一。
工具提示:输入一段文字,用户查看报表、鼠标进入本控件区域时,将显示此文本。
数据集名称:选择一个与本控件绑定的数据集。
区域内页码:本控件是否单独排页码。
在表格之前插入换页符号:表格另起一页。
在表格之后插入换页符号:表格末页另起一页再显示其他元素的内容。
在可能的情况下,将表格显示在同一页中:如果表格从某页中间开始,而总高度不超过一页,就另起一页。
每页重复显示列头:内容跨页时每页都带栏目标题。
每页重复显示列尾:内容跨页时每页都带表尾中的内容,往往是合计信息。
禁止单独显示列尾:如果显示到列尾时恰好要跨页,至少带一行数据到新页。
【可见性】
初始化可见性:
可见:报表运行时表格可见。
隐藏:报表运行时表格不可见。
表达式:基于表达式显示或隐藏。可以使用在运行时计算的表达式来确定可见性。表达式计算结果为 Boolean 值,值为 True 时表示隐藏该项,值为 False 时表示显示该项。
可见性可以通过其他报表元素进行切换:勾选此项会在已设置的其他报表元素上显示切换图像。在下拉框中可以键入或选择要在其中显示切换图像的报表文本框的名称,例如 Textbox1。点击此元素可以切换当前表格的可见性。注意:您选择的报表元素必须位于此元素的当前作用域或包含作用域中。
【导航】
文档结构图标签:输入文本或表达式,用作本控件在文档结构图(即目录)中的项目名称。
书签ID:输入文本或表达式,用作跳转到本控件的书签的定位ID。在其他控件处设置【跳转到书签】为这个ID,就可以在查看报表时点击其他控件跳转到本控件。
【排序】
可以设置多个排序条件,以控制数据输出的次序,每个条件的升降序可以不同。比如先按年度降序、再按省份升序。
表达式:可以是单个字段,也可以是几个字段的组合表达式。
方向:选择升序或降序。
【分组】
分组可用于将数据按照特定的分类进行组织和统计,例如在一个产品清单报表中,默认情况安装产品ID显示一览表,通过设置分组,可以按照产品类别,将同一类别的产品信息组织在一起显示。
点击加号图标可添加新的分组。分组属性可在多个选项卡中设置。
【分组-常规】
名称:输入一个分组名称。
分组:选择一个字段,或者编辑一个表达式,作为分组的依据。典型的是类别性质的字段,例如产品类别ID、年度、月份、业务区域,等等。
文档结构图标签:输入一个文本表达式,作为目录项的名称。
上级分组:指定一个父级分组,以实现多级分组。
【分组-过滤】
可设定过滤条件,仅显示部分分组的数据。一个过滤条件由三部分组成:表达式、运算符、值。
(1)表达式:过滤条件的检查对象,一般是某个字段。
(2)运算符:即比较操作符,具体包括:
Equal:相等。即过滤出左边的表达式计算结果(或某个字段值)等于某个指定值(运算符右边的值)的数据。
Like:字符串包含。即过滤条件是左边的表达式形如右边的值。右边的值一般会包含星号通配符(*)。
No
tEqual:不等于。
GreaterThan:大于。
GreaterThanOrEqual:不小于,即大于或等于
LessThan:小于。
LessThanOrEqual:不大于,即小于或等于。
TopN:只显示数据集的前几条数据,具体几条,由下面指定的【值】来确定。
BottomN:只显示数据集的后几条数据,具体几条,由下面指定的【值】来确定。
TopPercent:只显示数据集的前百分之几的部分数据,具体显示百分之几,由下面指定的【值】来确定。
BottomPercent:只显示数据集的后百分之几的部分数据,具体显示百分之几,由下面指定的【值】来确定。
In:只显示表达式结果等于几个具体值的数据,具体的值由下面指定的【值】确定。
Between:只显示表达式结果落在两个具体值之间的数据,两个具体的值由下面指定的【值】确定。
(3)值
根据运算符的不同,过滤条件中运算符右边的值可能是单个常数值,也可能是多个常数值(对于Between,In等运算符)。
值可能包含通配符,例如运算符为Like时,值可能是"陕西省*市"。
对于TopPercent和BottomPercent运算符,值应该是不带百分号的数字部分,比如想要过滤一半数据的话,值应该是50,而不是50%或者0.5。
【分组-排序】
可以设置多个排序条件,以控制数据输出的次序,每个条件的升降序可以不同。比如先按年度降序、再按省份升序。
表达式:可以是单个字段,也可以是几个字段的组合表达式。
方向:选择升序或降序。
【分组-可见性】
此处可设置当前分组是否隐藏。
可见:总是显示,即不隐藏。
隐藏:即总是不显示。
表达式:根据表达式的计算结果决定是否隐藏。表达式应返回True/False。注意:True表示隐藏,False表示要显示。
可见性可以通过其他报表元素进行切换:选择当前报表内的另一个元素,通常是一个文本框,比如TextBox1。用户查看报表时,文本框左边将显示一个用加号和减号表示的折叠和展开图标。用户点击该图标,当前元素将在显示与隐藏之间来回切换。典型的应用场景是:文本框中的内容设置为"显示或隐藏明细列表",然后通过这个文本框左边的加减号点击,控制一个表格或列表是否显示。
【分组-数据输出】
此处设置报表数据导出为XML时的元素Tag。
元素名称:输入一个XML元素名称,这个名称将用作报表数据输出为XML文件时的Tag。例如"ProductType"。
集合:输入一个XML集合名称,这个名称将用作XML数据输出的元素名称Tag的上级Tag。例如"ProductTypes"。
输出:选择【是】或【否】,表示在进行XML输出时是否包含本数据。
【分组-布局】
起始位置换页:在本部分内容之前插入硬分页。
结束位置换页:在本部分内容之后插入硬分页。
包括分组头:显示头部区域。不勾选可隐藏头部区域。
包括分组尾:显示尾部区域。不勾选可隐藏尾部区域。
重复分组头:换页时是否重复头部区域。
重复分组尾:换页时是否重复尾部区域。
区域内页码:是否单独排页码,默认根据整个报表统一排页码。
如果可以,将表格分组内容打印在同一页中:本区域内容较多,又可以在一页内显示时,单独用一页显示。这样可能导致前一页下部空白。
禁止单独显示尾部:不要将尾部显示在一个页面的顶部,上面一行明细也没有。
【详细数据分组】
详细数据分组用于在详情中不显示重复数据。设置详细信息分组时, 该值将为分组表达式的每个不同结果而不是对每一行数据重复。例如,如果你使用NorthWind中Customers表去创建一个没有设置详细数据分组的列表,由于在同个国家内会有多个Customer,所以最终每个国家都会被列举出来多次。如果将详细数据分组设置为=Fields!Country.Value,每个国家只会被列举一次。
注意:如果详细数据分组表达式返回值本来就不同于其他值,比如"CustomerID", 那么所得结果与未设置时并无差别。
【详细数据分组-常规】
名称:输入一个分组名称。
分组:选择一个字段,或者编辑一个表达式,作为分组的依据。典型的是类别性质的字段,例如产品类别ID、年度、月份、业务区域,等等。
文档结构图标签:输入一个文本表达式,作为目录项的名称。
上级分组:指定一个父级分组,以实现多级分组。
【详细数据分组-过滤】
可设定过滤条件,仅显示部分分组的数据。一个过滤条件由三部分组成:表达式、运算符、值。
(1)表达式:过滤条件的检查对象,一般是某个字段。
(2)运算符:即比较操作符,具体包括:
Equal:相等。即过滤出左边的表达式计算结果(或某个字段值)等于某个指定值(运算符右边的值)的数据。
Like:字符串包含。即过滤条件是左边的表达式形如右边的值。
NotEqual:不等于。
GreaterThan:大于。
GreaterThanOrEqual:不小于,即大于或等于。
LessThan:小于。
LessThanOrEqual:不大于,即小于或等于。
TopN:只显示数据集的前几条数据,具体几条,由下面指定的【值】来确定。
BottomN:只显示数据集的后几条数据,具体几条,由下面指定的【值】来确定。
TopPercent:只显示数据集的前百分之几的部分数据,具体显示百分之几,由下面指定的【值】来确定。
BottomPercent:只显示数据集的后百分之几的部分数据,具体显示百分之几,由下面指定的【值】来确定。
In:只显示表达式结果等于几个具体值的数据,具体的值由下面指定的【值】确定。
Between:只显示表达式结果落在两个具体值之间的数据,两个具体的值由下面指定的【值】确定。
(3)值
根据运算符的不同,过滤条件中运算符右边的值可能是单个常数值,也可能是多个常数值(对于Between,In等运算符)。
值可能包含通配符,例如运算符为Like时,值可能是"陕西省*市"。
对于TopPercent和BottomPercent运算符,值应该是不带百分号的数字部分,比如想要过滤一半数据的话,值应该是50,而不是50%或者0.5。
【分组-可见性】
此处可设置当前分组是否隐藏。
可见:总是显示,即不隐藏。
隐藏:即总是不显示。
表达式:根据表达式的计算结果决定是否隐藏。表达式应返回True/False。注意:True表示隐藏,False表示要显示。
可见性可以通过其他报表元素进行切换:选择当前报表内的另一个元素,通常是一个文本框,比如TextBox1。用户查看报表时,文本框左边将显示一个用加号和减号表示的折叠和展开图标。用户点击该图标,当前元素将在显示与隐藏之间来回切换。典型的应用场景是:文本框中的内容设置为"显示或隐藏明细列表",然后通过这个文本框左边的加减号点击,控制一个表格或列表是否显示。
【分组-数据输出】
此处设置报表数据导出为XML时的元素Tag。
元素名称:输入一个XML元素名称,这个名称将用作报表数据输出为XML文件时的Tag。例如"ProductType"。
集合:输入一个XML集合名称,这个名称将用作XML数据输出的元素名称Tag的上级Tag。例如"ProductTypes"。
输出:选择【是】或【否】,表示在进行XML输出时是否包含本数据。
【分组-布局】
起始位置换页:在本部分内容之前插入硬分页。
结束位置换页:在本部分内容之后插入硬分页。
区域内页码:是否单独排页码,默认根据整个报表统一排页码。
【过滤】
如果需要只显示数据集的一部分数据,可在此设置过滤条件。点击对话框右上角的加号图标,可创建新的过滤条件。一个过滤条件由三部分组成:表达式、运算符、值。
(1)表达式:过滤条件的检查对象,一般是某个字段。
(2)运算符:即比较操作符,具体包括:
Equal:相等。即过滤出左边的表达式计算结果(或某个字段值)等于某个指定值(运算符右边的值)的数据。
Like:字符串包含。即过滤条件是左边的表达式形如右边的值。
NotEqual:不等于。
GreaterThan:大于。
GreaterThanOrEqual:不小于,即大于或等于。
LessThan:小于。
LessThanOrEqual:不大于,即小于或等于。
TopN:只显示数据集的前几条数据,具体几条,由下面指定的【值】来确定。
BottomN:只显示数据集的后几条数据,具体几条,由下面指定的【值】来确定。
TopPercent:只显示数据集的前百分之几的部分数据,具体显示百分之几,由下面指定的【值】来确定。
BottomPercent:只显示数据集的后百分之几的部分数据,具体显示百分之几,由下面指定的【值】来确定。
In:只显示表达式结果等于几个具体值的数据,具体的值由下面指定的【值】确定。
Between:只显示表达式结果落在两个具体值之间的数据,两个具体的值由下面指定的【值】确定。
(3)值
根据运算符的不同,过滤条件中运算符右边的值可能是单个常数值,也可能是多个常数值(对于Between,In等运算符)。
值可能包含通配符,例如运算符为Like时,值可能是"陕西省*市"。
对于TopPercent和BottomPercent运算符,值应该是不带百分号的数字部分,比如想要过滤一半数据的话,值应该是50,而不是50%或者0.5。
【数据输出】
此处设置报表数据导出为XML时的元素Tag。
元素名称:输入一个XML元素名称,这个名称将用作报表数据输出为XML文件时的Tag。例如"Product"。
输出:自动=让系统决定是否导出(系统会根据某些条件决定是否导出,比如文本框内的字符串是常量时不导出,仅导出来自数据集的字段值内容);是=总是导出;否=不导出);仅内容=只导出数据内容