在 ActiveReports 中,您可以使用表达式来设置控件的值,或根据条件设置控件样式。您可以在表达式中使用 Microsoft Visual Basic ®.NET :
l 在属性窗口中的属性
l 表达式编辑器对话框
所有表达式以等号 (=)
开头,比如设置文本框的字段值可以使用以下代码,如下所示:
=Fields!LastName.Value
表达式编辑器对话框
您可以使用表达式编辑器对话框中快速地生成表达式。此对话框中您可用使用数据字段,以及报表中的某些特定的属性。您可以通过属性下拉列表中的<表达式...>访问表达式编辑器。
在表达式编辑器中有七种类型的字段可用:
在包含参数的报表中可以使用参数。在可用的情况下,您可以选择一个参数字段,在运行时获取该字段的值。
在表达式编辑器中创建表达式
表达式编辑器对话框中包括的两个面板,字段和表达式。
l 从字段面板中,选择您要在您的表达式中使用的字段。
l 单击替换、插入或追加按钮,将该字段添加到表达式面板。表达式面板中将字段显示为一种有效的表达式格式。
l 单击确定以关闭对话框。
在属性窗口中,属性的值将显示为表达式。
提示:当创建表达式时,您可以直接在表达式面板中添加全部或者部分表达式,然后通过插入、替换和追加按钮来创建更为复杂的表达式。
在报表中使用表达式
在您报表中直接显示原始数据可能不是最理想方案,您可以通过表达式来对其进行自定义,下面是不同方案中表达式设置方式的示例。
连接字段和字符串
您可以将字符串和其他字段进行连接。例如,使用下面的表达式可以得到这样的结果Customer Name:Bossert,Lewis
="Customer Name: " + Fields!LastName.Value + "," + Fields!FirstName.Value |
条件格式化
您可以在表达式中根据字段值来为属性设置不同的值,如颜色、字体、边框等,以此来突出显示报表中的某些数据。条件格式的设置如下:
=if( Fields!YourFieldName.Valueoperator"Value to compare", "If condition is met, use this value.", "If not, use this one." |
例如,如果您在文本框FontWeight属性中使用以下表达式,以此来对 Denise 进行加粗显示:
=iif(Fields!FirstName.Value = "Denise", "Bold", "Normal") |
函数
您可以在表达式中使用聚合和其他函数。ActiveReports 包括一系列的函数,运行时值、标准方差、标准偏差、计数、最小和最大值。例如,使用下面的表达式来获取雇员数量。
=Count(Fields!EmployeeID.Value, Nothing) |
在设计时显示表达式
在设计报表时,表达式的完整文本可以会很长,ActiveReports 通过精简写法来让表达式更易于阅读。
表达式编辑中:
=Fields!<FieldName>.Value |
在设计界面,您将看到此文本框内的文本显示为以下形式:
= [<FieldName>] |
双击该文本框进入编辑模式可以查看完整的文本。
使用集合功能时,表达式设置为:
=<Aggregate>(Fields!<FieldName>.Value) |
在设计界面,您将看到此文本框内的文本显示为以下形式:
= <Aggregate> ([<FieldName>]) |
表达式精简写法可以让您更容易的查看字段名称。它可以显示在文本框设计界面,以及在对话框的下拉列表框中。
除了字段名称的简写外,您也可以直接在设计界面输入参数简写[@Param],全局变量[&Value]。需要注意的是,您不能在表达式编辑器中使用简写.