当前位置: 首页 > news >正文

Stimulsoft 发布 2025.3 版本:支持在报表计算中解释运行 C# 脚本

近日,Stimulsoft 正式发布 2025.3 版本 的报表工具,为 .NET 和 .NET Framework 平台带来了重要更新 —— 支持在报表计算过程中以解释模式运行 C# 脚本。这一功能将进一步提升报表的灵活性和扩展性,方便开发者在报表设计与运行中实现更多自定义逻辑。

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!

Stimulsoft Ultimate 试用下载 

脚本可用范围

在新版中,脚本可直接应用于:

  • 报表事件(Events)

  • 用户函数(User Functions)

  • 报表表达式(Report Expressions)

  • 组件、变量及计算列的表达式

值得注意的是:

  • 当表达式中包含return语句时,报表引擎会将其视为脚本处理;

  • 若不包含return,则会被当作普通表达式执行。

脚本运行控制

开发者可根据需求灵活控制脚本的启用:

  • 完全禁用脚本:将 Allow Scripts To Run 属性设置为False;

  • 仅禁用表达式中的脚本:将 Allow Scripts In Expressions 属性设置为False。

此外,还可通过 Script Timeout 属性设置脚本执行超时时间(秒)。在嵌入式组件中,可使用全局选项:

StiOptions.Engine.AllowScriptsToRun = true;

脚本支持的语法与特性

新版解释器支持 完整的 C# 基本语法和运算符,包括:

  • 变量与类型:支持数值、字符串、日期、布尔值、颜色、集合、对象等;

  • 数组与集合:可使用 .NET 的数组、List、Dictionary 等;

  • 运算符:支持算术、比较、逻辑、位运算、赋值、三元运算、类型检查与转换;

  • 循环结构:支持for、while、do...while、foreach,并支持break与continue;

  • 函数:可调用内置函数、.NET 静态方法、对象方法,也可编写自定义函数;

  • 类型转换与检查:支持is、as、typeof、GetType以及显式/隐式类型转换。

数据源与业务对象支持

在脚本中,开发者可直接访问报表注册的数据源及业务对象。例如:

var name = Products.ProductName;
var category = Products.Categories.CategoryName;

也可通过RegBusinessObject方法注册业务对象,并在脚本中像普通对象一样访问和修改其属性。

var id = Business.Id;
Business.Name = "NewName";

甚至可以结合数据、集合、组件和业务对象,动态控制报表内容:

Pages[0].Components["Text1"].TextValue = Products.ProductName;

应用价值

通过引入 解释模式的 C# 脚本运行功能,Stimulsoft 报表工具为开发者提供了:

  • 更强大的灵活性:可在报表运行时实现动态逻辑处理;

  • 更广泛的扩展能力:结合 C# 语法和 .NET 类库,满足复杂业务场景;

  • 更高的可控性:通过属性和全局设置,灵活控制脚本执行的范围与安全性。

此次更新不仅提升了报表表达能力,也让 Stimulsoft 报表工具在企业级开发场景中更具竞争力。

下载并体验 Stimulsoft 2025.3 版本,获取全新功能带来的开发加速与可视化增强。

http://www.dtcms.com/a/340015.html

相关文章:

  • Apache ShenYu网关与Nacos的关联及如何配合使用
  • 基于Envoy的AI Gateway测试环境搭建
  • 基于决策树模型的汽车价格预测分析
  • DAY 50 预训练模型+CBAM模块
  • CiA402 伺服驱动标准与控制模式详解
  • STL——string的使用(快速入门详细)
  • 12.3.2设置背景色12.3.3 创建设置类12.4 添加飞船图像 12.4.1 创建Ship 类 12.4.2 在屏幕上绘制飞船
  • 【语法糖】什么是语法糖
  • RK3568 Linux驱动学习——Linux设备树
  • bun + vite7 的结合,孕育的 Robot Admin 【靓仔出道】(十四)
  • for-else 流程控制结构介绍
  • AVL树、红黑树理解
  • 人脸识别智慧检测算法在人群聚集场景应用
  • 关于less/sass两个css预处理器的总结
  • C++常用容器详解:原理、适用场景与代码示例
  • CentOS上安装Docker的完整流程
  • CSP与XSS
  • web开发,在线%服装商城开发demo,基于html,css,jquery,asp.net,webform,sqlserver数据库
  • CNN-LSTM-Attention、CNN-LSTM、LSTM三模型多变量时序光伏功率预测
  • 深度学习图解:神经网络如何学习?
  • [Linux] 网络中的 `tun` 模式
  • 无人机场景 - 目标检测数据集 - 山林野火烟雾检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • Android13车机系统自定义系统栏显示策略之状态栏下拉异常
  • 决策树算法学习总结
  • 楼宇自控系统的应用,已然成为智能建筑行业发展方向
  • 将字符串“1,2,3“转换为“1‘,‘2‘,‘3‘“
  • Hive常用命令参考
  • 如何保证ES和数据库的数据一致性?
  • java基础(十二)redis 日志机制以及常见问题
  • langChain—状态管理:跟踪复杂任务的上下文流程