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

全新更新!Fastreport.NET 2025.1版本发布,提升报告开发体验

在.NET 2025.1版本中,我们带来了巨大的期待功能,进一步简化了报告模板的开发过程。新功能包括通过添加链接报告页面、异步报告准备、HTML段落旋转、代码文本编辑器中的文本搜索、WebReport图像导出等,大幅提升用户体验。

FastReport .NET 是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

添加带有链接的报告页面

在以前的版本中,可以将另一份报告的页面添加到一份报告中。此选项可在 “文件->打开页面...”中找到。 默认情况下,页面的副本会添加到报告中。

添加带有链接的报告页面

您现在可以启用“添加为链接”选项,该选项会将页面的链接添加到报告,而不是页面的副本。这意味着当您更改原始报告中的页面时,更改将反映在以链接形式添加该页面的所有报告中。反之亦然,如果在具有指向该页面的链接的报告中更改了页面,则原始报告中也会更改该页面。

异步报告准备

添加了report.PrepareAsync()方法,除了现有的同步report.Prepare()方法外,还支持异步报告准备。此方法还支持CancellationToken,允许用户在需要时取消报告准备过程,从而改善非阻塞环境中大型报告的控制和性能。此功能将来可能会进一步增强,新方法可提供额外的异步访问。

IfNull 函数

object IfNull(object expression, object defaultValue)
有一个新的函数允许 System.NullReferenceException在评估表达式时避免这种情况。该函数有两个参数:第一个是要评估的表达式,第二个是默认值。如果表达式可以评估,则函数返回其结果。如果不能,则返回默认值。

使用 TextRenderType.HtmlParagraph 旋转文本

添加了使用 TextRenderType.HtmlParagraph 旋转文本的支持。以前,文本旋转仅适用于其他文本渲染器类型。您可以在下面看到文本旋转的示例。

将 .NET 产品更新至版本 2025.1

此外,现在可以正确将此类文本导出为 PDF。

FastReport WPF 和 FastReport Mono 代码编辑器中的文本搜索

现在您不仅可以在 FastReport .NET 代码编辑器中搜索文本,还可以在 FastReport WPF 和 FastReport Mono 编辑器中搜索文本。

在FastReport WPF代码中搜索文本的示例:

将 .NET 产品更新至版本 2025.1

在 FastReport Mono 代码编辑器中:

将 .NET 产品更新至版本 2025.1

Blazor WASM WebReport 的本地化支持

在 FastReport Blazor WebAssembly 中引入了对 WebReport 接口的本地化支持。以前,本地化是通过基于文件的方法进行管理的,这与 WASM 环境不兼容。新方法webReport.SetLocalization(Stream)允许从 Stream 加载本地化,使其与 Blazor WASM 应用程序兼容。

图像导出至WebReport

添加了将报告导出到图像的功能。要将其显示在导出列表中,请添加以下代码:

WebReport.Toolbar.Exports.ShowImageExport = true;

将 .NET 产品更新至版本 2025.1

添加了将报告导出到图像的功能。要将其显示在导出列表中如果需要,您必须启用 WebReport 选项来配置导出到图像 WebReport.Toolbar.Exports.EnableSettings。启用后,您可以单击“齿轮”并在出现的模式窗口中更改设置。,请添加以下代码:

WebReport.Toolbar.Exports.ShowImageExport = true;

将 .NET 产品更新至版本 2025.1

完整变更列表

[Engine]
+ 为 RichObject 添加了 PicturesInParagraph 属性;
+ 添加了异步报告准备方法 PrepareAsync();
+ 添加了将字符串转换为兼容 dbtype 的功能;
+ 添加了打印比例;
+ 在 ToWords 函数中添加了将单词转换为十进制的功能;
+ 添加了西班牙语的区域标识符 22538(西班牙语 - 拉丁美洲)和 3082(西班牙语 - 西班牙(现代排序));
+ 添加了新的 IfNull 函数用于处理表达式。如果表达式不为空,则返回计算表达式的结果,否则返回指定的默认值;
+ 实现了 RichObject 中图片水平位置的计算;
+ 添加了以虚拟主机样式发送请求的功能;
+ 添加了对 TextRenderType = HtmlParagraph 的文本旋转的支持;
+ 添加了为 Totals 的“PrintOn”属性使用标题带的功能;
* 升级了 FastReport.Data.OracleODPCore 中的 Oracle.ManagedDataAccess.Core;
* 将 GetConnection、OpenConnection 和 Dispose 方法标记为虚拟;
* 为 Hyperlink.Value 属性的传入值添加了空值检查;
* 静态验证方法 TryParse 已被引入到 QRCodes 类中;
- 修复了文本中断问题;
- 修复了 PageStart 事件后页面可见性变化的问题;
- 修复了转换为参数类型的问题;
- 修复了检查报告脚本中是否包含停用词(如果变量名称中包含停用词)的问题;
- 修复了启用 GrowToBottom 时文本对象底部边框的可见性问题;
- 修复了分组 DataBand 具有 GrowToBottom 选项时边框加倍的问题;
- 删除了 SVGPictureObject 中子 clipPath 标签的渲染;
- 修复了 FinishReport 事件中的一个错误;
- 删除了将 SubreportObject 添加到 ContainerObject 的无效功能;
- 修复了更改请求的 CommandType(如果已在 GetAdapter 中设置)的问题;

[设计器]
+ 添加了从另一个报告以链接形式打开页面的功能;
+ 为 span 标签添加了斜体、粗体、下划线和删除线字体样式;
+ 添加了通过键盘输入的字符在 TreeView 中进行搜索的功能;
+ 在 WPF 和 Mono 的代码编辑器中添加了搜索功能;
* 添加了对下载字体重复项的检查;
* 将 CurrencyFormat、NumberFormat 和 PercentFormat 类的构造函数中的默认属性值从固定值替换为 CultureInfo.CurrentCulture 中的值;
- 修复了字体选择下拉列表中 Amiri、Cambria Math、DejaVu Math TeX Gyre 字体的错误位置;
- 修复了通过边框编辑器保存边框时导致 System.NullReferenceException 的错误;
- 修复了设计器中 SVG 图像的错误显示;
- 修复了工具提示中“代码”选项卡上一行中声明的变量的显示;
- 修复了“ExtraDesignWidth”模式下的页边距长度;
- 修复了长报告设计器中的参考线长度;
- 修复了下拉列表中未显示所选字体的错误;
- 修复了数据格式的错误应用;
- 修复了删除带有 Subreport 对象的带区时导致 System.NullReferenceException 的错误;

[预览]
+ 在 PreviewControl 中添加了 Outline.Expand 和 Outline.Width 属性;
- 修复预览空 SvgObject 时索引超出范围的问题;
- 修复点击“下一步”按钮后关闭 PreviewSearchForm 的问题;

[导出]
+ 添加了在导出到 Excel 时将所有报告页面合并为一个的功能;
+ 在 Excel 导出中添加了使用自定义格式而不是常规格式的选项;
+ 在 Word 导出中添加了删除线文本格式;
+ 为 Word 导出添加了 MemoryOptimized 选项,该选项允许使用 FileStream 而不是 MemoryStream;
+ 添加了在导出到 PDF 时使用 TextRenderType = HtmlParagraph 旋转文本的支持;
* 格式显示调整 - 格式 'D' 和 'MMMM yyyy' 显示为日期(如果可能则格式 'MM yyyy'),带有负模式 '-n' 的数字格式以标准 Excel 数字格式显示;
* 将 PictureObject 边框的导出更改为 Word 中的图像;
* 优化了导出为 PDF 时的内存消耗;
* 将表格导出的布局更改为已修复;
- 修复了 HTML 导出中 HTML 标签的渲染问题;
- 修复了负 PDF 属性值的导出问题;
- 导出到 Excel 后修复了浏览器中单元格边框的颜色;
- 修复了 Word 和 PowerPoint 中单元格的边框样式;
- 修复了将页眉和页脚中的图片导出到 Word 的问题;
- 修复了删除临时文件时的错误;
- 修复了导出为 HTML 时行高的计算问题;
- 修复了将双线样式的边框导出为 PDF 时出现错误的
问题; - 修复了 HTML 导出中的透明度错误;
- 修复了在 HTML 导出过程中 <p> 标签显示不正确的问题;
- 修复了 Word 导出时“UseHeaderAndFooter”选项的默认值;
- 修复了将表格导出到 Word 时图像的位置不正确的问题;
- 修复了导出到 Excel 时在 TableObject 之后设置的对象行高问题;
- 修复了使用替代查找将字体导出到 PDF 时出现的 NullReferenceException 问题;

[WebReport]
+ 添加了在选项卡中显示报表名称而不是参数的功能;
+ 添加了 SetLocalization 方法,用于从 Stream 中加载 WebReport 本地化;
+ 添加了在 WebReport 中将报表导出为图像格式的功能;
- 修复了从 WebReport 中的自定义应用程序样式继承“box-sizing”的问题;
- 修复了预览 WebReport 时出现的 IndexOutOfRange 异常;
- 修复了导致 WebReport.Debug 属性在启用时不显示报表中的错误信息的错误;
- 修复了单击 WebReport 中的选项卡时可能发生 NullReferenceException 异常的错误;
- 修复了在 WebReport 中重置 ExtraFilter 的问题;
- 修复了横向打印 WebReport 页面的问题;

[在线设计器]
+ 增加了一种更新表格的方法;
- 修复了在线设计器中空 SVG 对象的预览;

[.NET Core]
+ 在 FastReport Core 中添加了 MS SQL 存储过程的方法;

[常用]
+ 增加了通过代码设置参数表达式的方法;
+ 增加了签名安装时的时间戳;

[附加功能]
+ 增加了连接到 Oracle 存储过程的能力;
* 将 Firebird.Client 版本更新至 10.0.0;
* 更新了易受攻击的包 Npgsql(Postgres) 和 System.Data.SqlClient;
* 更改了在连接到 Linter 时按下“高级”按钮时显示的错误消息文本;
- 修复了 Report 对象的表单设计器中缺少菜单的错误;
- 修复了 Postgres“字符变化”类型的错误;

[演示]
- 修复演示报告 Barcode.frx。

相关文章:

全新更新!Fastreport.NET 2025.1版本发布,提升报告开发体验

在.NET 2025.1版本中&#xff0c;我们带来了巨大的期待功能&#xff0c;进一步简化了报告模板的开发过程。新功能包括通过添加链接报告页面、异步报告准备、HTML段落旋转、代码文本编辑器中的文本搜索、WebReport图像导出等&#xff0c;大幅提升用户体验。 FastReport .NET 是…...

信息学科平台系统设计与实现:Spring Boot技术手册

5系统详细实现 5.1 用户信息管理 基于保密信息学科平台系统的系统管理员可以对用户信息查询。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.2 教师信息管理 管理员可以对教师信息进行查下和删除。具体界面如图5.2所示。 图5.2 教师信息界面 5.3 学科动态管理 管理…...

conda下jupyterlab安装问题以及交互绘图问题记录

安装 1. 直接conda install jupyterlab就好&#xff0c;只要在base环境下安装就行&#xff0c;可以在任意环境下执行jupyter lab启动。 2. 打开jupyter lab后显示Could not determine jupyterlab build status without nodejs&#xff0c;可以执行conda install nodejs安装no…...

尚硅谷react教程_扩展_setState更新状态的2种写法

1.setState setState更新状态的2种写法&#xff08;1&#xff09;.setState(stateChange,[callback])----对象式的setState1.stateChange为状态改变对象&#xff08;该对象可以体现出状态的更改&#xff09;2.callback是可选的回调函数&#xff0c;它在状态更新完毕、界面也更新…...

C语言编写的自动取款机模拟程序

#include〈stdio。h> #include<string。h> #include <stdio.h> #include〈stdlib.h〉 #include〈direct.h〉 #include<io.h> #include 〈errno。h> /********************************************************…...

【常用数据结构】开发中常用的数据结构?

开发中常用的数据结构包括数组、链表、栈、队列、树、图、堆和散列表&#xff08;哈希表&#xff09;‌。这些数据结构在软件开发中有着广泛的应用&#xff0c;并且各自具有独特的特点和用途。 数组 数组是最基本的数据结构之一&#xff0c;用于在内存中连续存储多个元素。数…...

OCC 点云

OCC的基础知识可能还是要系统学习一下&#xff0c;部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface&#xff0c;最终获取参数都要拟合一下&#xff0c;拟合后的生成的面对象没有大小&#xff0c;比如平面只有矢量&#xff08;大小没有思路&#xff09; 圆柱拟合面没有…...

方法重写与方法重载

1. 方法重载与方法重写的定义 方法重写&#xff08;Overriding&#xff09; 方法重写&#xff08;Overriding&#xff09;是指在子类中重新定义与父类中相同的方法。此操作允许子类提供特定的实现&#xff0c;以替代父类的实现。方法重写是实现多态性&#xff08;Polymorphis…...

Vue3实现地球上加载柱体

最终效果为上图。 实现该技术&#xff0c;需要一些技术&#xff0c;我分别罗列一下&#xff1a; canvas&#xff1a;需要使用canvas根据json来绘制地球&#xff0c;不懂的可以看这篇canvas绘制地球 threejs&#xff1a;需要会使用threejs&#xff0c;这里并没有使用shader&am…...

OpenGL入门003——使用Factory设计模式简化渲染流程

前面两节已经学会了如何使用opengl创建窗口并绘制三角形&#xff0c;我们可以看出有些步骤是固定的&#xff0c;而且都写在main.cpp&#xff0c;这一节我们将了解如何使用Factroy设计模型。将模型渲染逻辑封装在一个单独的类中&#xff0c;简化开发流程&#xff0c;且提高代码复…...

01_AI编程案例展示:借助AI轻松爬取海量网盘链接

爬虫案例展示 今天,我们将展示如何利用AI快速开发一个网络爬虫&#xff0c; 使用的工具是Python和Claude 3.5 Sonnet(国内可用豆包替代) 我们的目标是爬取panhub.fun网站上的夸克网盘链接, 即使你是编程新手,也可以轻松完成这样的任务。 案例1-批量爬取panhub网盘整合包 下…...

【机器学习导引】ch5-神经网络

Q&A 1x1 卷积层在深度学习中的作用&#xff1f; 1x1 卷积层在深度学习中具有几个重要的作用&#xff1a; 通道压缩&#xff1a;1x1卷积可以通过调整输出通道数来减少特征图的深度&#xff0c;从而降低计算成本和参数数量。这有助于在保持特征的情况下简化模型。特征融合&am…...

【Axure原型分享】颜色选择器——填充颜色

今天和大家分享颜色选择器——填充颜色的原型模板&#xff0c;点击颜色区域可以弹出颜色选择器&#xff0c;点击可以选择对应颜色&#xff0c;颜色区域会变色我们选择的颜色&#xff0c;具体效果可以观看下方视频或者打开预览地址体验。 【原型效果】 【Axure高保真原型】颜色…...

怎么安装行星减速电机才是正确的

行星减速电机由于其高效、精密的传动能力&#xff0c;广泛应用于自动化设备、机器人、机床以及其他需要精准控制的领域。正确的安装行星减速电机对于确保设备的性能与延长使用寿命至关重要。 一、前期准备 在进行行星减速电机的安装之前&#xff0c;必须做好充分的前期准备工作…...

Unity程序化生成地形

制作地形&#xff1a; 绘制方块逐个绘制方块并加噪波高度删除Gizmos和逐个绘制 1.draw quad using System.Collections; using System.Collections.Generic; using UnityEngine;[RequireComponent(typeof(MeshFilter))] public class mesh_generator : MonoBehaviour {Mesh m…...

Vxe UI vue vxe-table 表格中使用下拉表格,单元格渲染下拉表格

Vxe UI vue vxe-table 表格中使用下拉表格&#xff0c;单元格渲染下拉表格 单元格中渲染下拉表格&#xff0c;需要使用到 vxe-table-select 这个组件&#xff0c;在 vxe-table 4.7 中使用非常简单&#xff0c;只需要配置好渲染器数据源就可以。 支持单选 也可以多选 代码 …...

Android开发教程实加载中...动效

Android开发教程实加载中…动效 加载中&#xff0c;发送中&#xff0c;匹配中都可以用&#xff0c;就是后面是三个点还是两个点&#xff0c;不断在切换 一、思路&#xff1a; 隔500ms发送一次&#xff0c;改变内容 二、效果图&#xff1a; 看视频更加直观点&#xff1a; An…...

NVR设备ONVIF接入平台EasyCVR视频融合平台智慧小区视频监控系统建设方案

一、方案背景 智慧小区构成了“平安城市”建设的基石。随着社会的进步&#xff0c;社区安全问题逐渐成为公众关注的热点。诸如高空抛物、乱丢垃圾、破坏车辆、入室盗窃等不文明行为和违法行为频繁出现。目前&#xff0c;许多小区的物业管理和安全防护系统仍然较为简单和陈旧&a…...

适配器模式适用的场景

适配器模式是一种常用的设计模式&#xff0c;能够将不兼容的接口转换为客户端所需的接口。在实际开发中&#xff0c;我们常常会遇到需要统一接口、替换外部系统、兼容旧接口或适配不同数据格式的情况。本文将结合详细的代码示例&#xff0c;介绍适配器模式的适用场景。 1. 统一…...

Ambari里面添加hive组件

1.创建hive数据库 在添加hive组件之前需要做的事情&#xff0c;先在master这个虚拟机里面创建好hive 先进入虚拟机里面进入mysql 然后输入这个命令看看有没有自己创建的hive数据库 show databases;有的话会显示下面这个样子 没有的同学使用以下命令可以在MySQL中创建hive数…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

【若依】框架项目部署笔记

参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作&#xff1a; 压缩包下载&#xff1a;http://download.redis.io/releases 1. 上传压缩包&#xff0c;并进入压缩包所在目录&#xff0c;解压到目标…...