当前位置: 首页 > 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数…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...