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

2024-03-11 17:20

本文主要是介绍报表生成器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用户手册:表达式(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/798507

相关文章

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

多线程解析报表

假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。 Way1 join import java.time.LocalTime;public class Main {public static void main(String[] args) thro

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

JavaSE(十三)——函数式编程(Lambda表达式、方法引用、Stream流)

函数式编程 函数式编程 是 Java 8 引入的一个重要特性,它允许开发者以函数作为一等公民(first-class citizens)的方式编程,即函数可以作为参数传递给其他函数,也可以作为返回值。 这极大地提高了代码的可读性、可维护性和复用性。函数式编程的核心概念包括高阶函数、Lambda 表达式、函数式接口、流(Streams)和 Optional 类等。 函数式编程的核心是Lambda