DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。
DevExpress Reporting控件日前正式发布了v23.2,新版本增强了PDF导出、macOS、Linux平台打印功能等,欢迎下载最新版产品体验!
DevExpress Reporting v23.2正式版下载(Q技术交流:532598169)
Reporting for ASP.NET Core
增强Visual Studio项目模板
新版本在项目模板中添加了对Docker的支持,您可以选择各种基于Linux操作系统的Docker映像:
- Debian
- Alpine
- Ubuntu
- openSUSE
- Amazon Linux
一个Dockerfile会自动创建并添加到项目中,该文件包含所有必要的设置。
项目模板允许您指定用于缓存报表生成的文档存储类型,选项包括:
- 文件存储
- 数据库
- 外部缓存服务,实现分布式应用程序的缓存机制
- Azure存储
- 内存中的存储
注意:当您在基于macOS和Unix的操作系统上使用.NET CLI 模板生成样例应用程序时,这些新选项也可用。
Reporting for All Platforms(所有平台)
增强的标签(可访问)PDF导出
您现在可以生成具有改进相关元素逻辑结构的可访问PDF,这个新选项允许屏幕阅读器识别文档的语义树,并改进PDF文档导航。
新版本添加了一个新的AccessibleRole属性,使用该属性为屏幕阅读器定义导出的PDF文档(与PDF/UA和PDF/A-1a、2a或3a规范兼容)中的报表元素结构,支持的元素包括:
- 标题
- 表格
- 表标题行
- 表标题单元格
您可以为以下报表控件指定角色:
Drill-Through报表
您现在可以为所有支持的平台创建drill-through报表,drill-through功能允许您单击报表元素并在相同的打印预览窗口中导航到详细报表。
要创建drill-through报表,请使用报表控件的Action属性(例如,XRLabel)。该属性允许您指定NavigateToReport操作(指定详细报告实例或URL以设置主-详细关系),并获取详细报告参数绑定的集合,以便将数据从主报表传递到详细报表。
支持Linux和macOS打印
DevExpress Reports现在支持通过Common UNIX Printing System (CUPS)打印文档,该库与macOS集成。对于基于UNIX的系统,您需要单独安装libcups2包。
要在通过CUPS访问的打印机上打印报告,请利用PrintToolBase类。
最终用户报表设计器 - 本地化属性描述
在v23.2中,您可以转换报表设计器属性网格中显示的属性描述。根据需要使用本地化服务或新的本地化API和UI本地化客户端实用程序。
有条件的水印
您现在可以根据特定条件在报表页面上显示文本和图片水印。
XtraReport类包含一个Watermarks集合属性,将XtraReport.WatermarkId属性绑定到表达式,以便将水印应用于特定的报表页面。使用下面的表达式为报告的奇数页和偶数页添加不同的水印:
cs
Iif([Arguments.PageIndex]=0,'Watermark_0',Iif([Arguments.PageIndex]%2=0,'Watermark_1','Watermark_2'))
加入聚合
您现在可以使用新的Join()聚合函数根据特定条件将所有值连接起来,该函数将值连接成由指定分隔符分隔的单个字符串(如果未指定分隔符,则该函数使用逗号)。
带有Join()函数的表达式使用以下语法:
cs
[Collection][Condition].Join(Expression)
[Collection][Condition].Join(Expression, Separator)
下面的表达式将按"CategoryID"字段分组的报表中的"CompanyName"字段值连接成一个以分号分隔的字符串:
cs
[][[CategoryID] == [^.CategoryID]].Join([CompanyName], ';')
EPC QR码
新版本扩展了条形码生成支持,您现在可以创建EPC QR码,它可以生成包含SEPA信用转移相关数据的条形码。
EPC QR码还引入了对奥地利支付服务的内置支持。
带框架的QRCode
QRCodeGenerator类包含一个FrameOptions属性,使用该属性在代码周围绘制一个矩形框架。您可以从两个内置帧中进行选择,并指定以下设置:
- Padding
- Text
- TextAlignment
- TextPosition
- TextColor
- FrameWidth
- FrameColor
- CornerRadius