报表生成器Stimulsoft用户手册:表达式(上)

发布时间 : 2024-03-11 13:10:10.633|阅读 24 次

概述:本文主要介绍报表生成器Stimulsoft中关于表达式部分,欢迎查阅~

相关链接:

Stimulsoft Reports 是一款报告编写器,主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的应用程序中嵌入报告设计器或在线创建报告,支持从云端快速分享你的报告。

Stimulsoft Reports官方正版下载   

表达式是 Stimulsoft Reports 的重要组成部分--没有表达式,就不可能生成任何报表。表达式是以下一个或多个元素的组合:

  • 文本;
  • 数学和逻辑运算符
  • 常量
  • 函数
  • 字段名称;
  • 控件;
  • 属性

Stimulsoft Reports 可以处理报表中定义的表达式,计算每个表达式要显示或打印的值。该值将被保存,并可在生成报告输出时用于进一步计算。

报表生成器中最常用的表达式是文本表达式。这些表达式用于定义报告中显示或打印的任何文本,而这些文本不是任何计算的对象,例如文本标题。文

本表达式总是转换为字符串。

文本表达式

最简单的表达式是文本表达式。例如:

  • 我的文本
  • 12345
  • 测试

上述三个表达式都由一个字符串组成,没有任何计算--表达式将完全按照其定义打印在报表中。此类表达式通常用于表示简单的字符串常量、列名、报表、链接等 。

计算表达式中的值

表达式可以包含多种不同类型的变量以及函数和数据库中的字段值。这些不同的部分可以组合在一起,计算出一个要打印或显示在报表中的值。

在表达式中使用代码

在表达式中计算数值时,还可以加入用报表编程语言编写的代码。大括号("{"和"}"符号)用于将代码项与其他文本分隔开来。开头的大括号符号"{"表示计算的开始。结尾大括号符号"}"表示计算结束。符号之间的代码经过计算,其值包含在计算结果中。在文本表达式中,计算结果会自动转换为字符串。例如,如果输入以下表达式:

值 = {1 + 2}

那么计算后,报告中显示的结果将是:

值 = 3

多代码插入

使用计算时,允许在任何一个表达式中插入不限数量的代码。例如,如果输入以下表达式

ValueA = {1 + 2}, ValueB = {2 + 3}

那么计算后,报告中出现的结果将是

ValueA = 3, ValueB = 5

嵌套代码插入

在表达式中执行计算时,不允许嵌套代码部分。例如,以下表达式不正确,会导致计算失败:

值 = {1 + 2 + {2 + 3}}

重要:在表达式中进行计算时,不允许代码嵌套。

多行表达式

一个表达式可以在报告中输出多行文本。要创建多行表达式,请在任何新行前插入换行符。只需在代码编辑器的适当位置按下 Enter 键即可。表达式的行数没有限制。例如,如果输入以下表达式:

值:{1+2}

计算后,报告中显示的结果将是:

值:3

换句话说,文本输出将包含两行。

注意:表达式可以包含任意行数。

在多行表达式中使用代码,与单行表达式相比,多行表达式在使用代码计算值方面没有限制。

使用字典变量

您可以在设计器数据字典中创建变量,然后将其用于表达式中。在表达式中指定变量名后,变量值将包含在报告中。语法仅为变量名,并用大括号包围。例如,如果将变量值设为 5,并输入以下表达式:

值 = {我的变量}

计算后,报告中显示的结果将是:

值 = 5

使用变量进行计算

例如,如果 MyVariable 的值是 15,并输入以下表达式:

值 = {我的变量 + 10}

那么计算后,报告中显示的结果将是

值 = 25

重要提示:如果报表语言为 C#,则变量名区分大小写。如果报表语言为 VB.Net,则变量名不区分大小写。

使用数据字段

表达式中可以使用数据源中的值。要引用数据源中的字段,必须提供字段的字符串表示。引用的语法很简单--给出数据源名称和字段名称,中间用小数点或句号分隔,并用大括号包围:

{DataSource.Column} (数据源列)

例如,如果在客户表中有一个条目,其公司名称字段设置为 "The Big Company",并输入以下表达式:

公司名称: {Customers.CompanyName}

那么计算后,报告中出现的结果将是:

公司名称: 大公司

注意:为避免手动创建此类表达式,可以使用从数据字典直接拖放到报表页面或表达式编辑器中的拖放功能,以正确的语法自动插入必要的信息

父级关系

如果数据源与其他数据源有父级关系,则可以直接引用父级数据源中的字段。引用的语法与已给出的示例类似--给出数据源名称、关系名称和字段名称,每个名称用小数点或句号分隔,并用大括号包围。例如

{数据源.关系.字段}。

假设您有这样一组信息:

  • 产品是数据源的名称;
ParentCategories 是关系的名称,两个数据源与之相关。在本例中,两个数据源是相关的:
  • roducts是产品列表,Categories是这些产品的类别列表。
  • CategoryName 是 Categories 数据源中的列名

如果输入以下表达式

{Products.ParentCategories.CategoryName} 。

那么经过计算后,报告中出现的结果将是产品的类别名称。

在 Stimulsoft Reports 中可以使用的关系数量没有限制。因此,一列可以通过两个或三个甚至更多的关系来调用。例如,假设您有这样一组信息:
  • OrderDetails 是数据源的名称;
  • ParentProducts 是 OrdersDetails 和 Products 数据源之间关系的名称;
  • ParentCategories 是产品和类别数据源之间关系的名称;
  • CategoryName 是 Categories 数据源中的字段。

如果输入以下表达式:

{OrderDetails.ParentProducts.ParentCategories.CategoryName}。

那么经过计算后,报告中显示的结果仍将是产品的类别名称,但 CategoryName 字段的值是通过关系获得的,并绕过了 OrderDetails 数据源到达了 Categories 数据源。没有直接调用类别数据源

重要:如果报告语言是 C#,则名称区分大小写。如果报告语言是 VB.Net,则名称不区分大小写。

请记住,数据源中的所有值都是类型化的。这意味着所有数据项都会动态转换为选项列中指定的类型,这有助于加快报表的开发。但是,如果需要从一列中获取数据而不进行转换,则需要直接指定数据源。例如,在 C# 中

{Products["ProductName"]}

该表达式将 "按原样 "返回产品数据源的数据,而不进行转换。下面的示例显示了 VB.Net 的相同表达式:

{Products.Item("ProductName")}

以上便是有关Stimulsoft Reports 中报告中发票报告相关介绍,如有其他问题,欢迎私聊我们~


想要了解Stimulsoft Reports 报价信息的朋友,欢迎咨询慧都官方客服

加入官方社群 740060302,欢迎相互交流


在线
客服
微信
QQ 电话
023-68661681
返回
顶部