概述
FlexReport是更新和改进的C1Report,具有以下主要区别:
报表字段类型的层次结构
FlexReport中的Field对象的结构是分层的,FieldBase作为基类,还有其他不同的类类型来表示不同的字段。 因此,有不同类型的报表字段来表示文本,图像,形状,子报表和其他不同类型的数据。 在FlexReports中具有Field对象层次结构的优点在于,它使得与字段的工作非常容易和灵活。
另一方面,C1Report具有复杂的字段对象,需要定义C1.C1Report.Field.Text属性并将Calculated为“True”。 这里,每个字段被解释为为每个记录单独评估的表达式,这会降低C1Report字段中数据呈现的过程。
无论如何,FlexReport中的字段类型与C1Report中的字段类型完全兼容,可以在FlexReport中加载或呈现C1Report定义。
多数据源
FlexReport定义可以有多个数据源,每个数据源由唯一的名称标识。 如果报表包含多个数据源,其中一个数据源将作为报表的主要数据源; 来自其他数据源的值可用于添加报告参数和创建图表字段。
改善的数据排序
FlexReport提供改进的数据源排序功能。 您可以为数据定义多个排序表达式,以使用DataSource.SortDefinitions属性指定排序条件及其方向。
此外,数据的排序和分组是相互独立的,也就是说,您可以对一组记录应用分组,以及通过排序来控制记录的顺序。 一个简单的例子是排序数据 - 城市,而按国家分组。 这将提高与Crystal Reports的兼容性。
改善的数据过滤
FlexReport提供了可以在常规VBScript(作为C1Report或FlexReport中的所有其他表达式)或DataView(几个表达式来指定过滤数据的条件)中指定的改进的数据过滤。 FlexReport中过滤数据的语法类型通过将FilterExpressionSyntax枚举设置为DataView(默认值)或VBScript来指定。
另一方面,C1Report中的过滤由C1Report.Filter属性指定,它使用有限的语法作为DataView.Filter属性。 无论如何,FlexReport中的过滤与C1Report中的过滤完全兼容。
数据源的计算字段
在FlexReport中,数据源支持计算字段,即可以在数据源中定义计算字段以获取计算数据。 “计算”字段中的表达式通过DataSource.CalculatedFields集合中的VBScript表达式进行指定。 这些表达式可以使用其他数据源字段,报告参数等。
报表参数
报表中的报表参数用于修改数据的默认值,从而在呈现报表时更新值。 在FlexReport中,可以在C1FlexReport.Parameters集合中定义报告参数,其中每个元素都是ReportParameter类的实例,还有一些其他属性,在“添加参数”主题中有描述。
在C1Report中,可以在DataSource.RecordSource或DataSource中指定参数,使用连接字符串中的PARAMETERS“关键字”,例如以下字符串:
C1Report.DataSource.RecordSource =“PARAMETERS param1 int 0; 从id <param1的客户中选择*。
当在FlexReport中加载C1Report报表定义时,使用DataSource.RecordSource和DataSource.Filter指定的参数将正确导入到C1FlexReport.Parameters集合中。
多个子部分
在C1FlexReport中,每个部分至少包含一个子部分。这些子部分,就像部分,包含报告字段。添加子部分的优点是它们有助于增强其父部分中存在的数据。子部分可以通过Section.SubSections集合属性访问。
视觉属性
Borders
在FlexReport中,可以使用VisualReportObject.Border属性为字段,子节和节指定边框。另外,边框可以让每边都有自己的风格,每个角都有一个不同的圆角,用于圆角。 在C1Report中,只能在字段上定义边框。
Backgrounds
在FlexReport中,可以为字段,子部分和部分指定背景。背景颜色可以是实体或渐变,可以使用VisualReportObject.Background属性设置。在C1Report中,BackColor属性用于设置字段和段的背景颜色。
如果你有疑问,可以到GCDN获得技术支持:
http://gcdn.grapecity.com.cn/showforum-68.html
GCDN:http://gcdn.grapecity.com.cn/
官方网站:/developer