FastReport迎来了期待已久的更新,FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表工具。
此次新版本,其中特别关注用户体验和软件代码质量。版本 2023.3 开始,添加了以下内容:新对象 - RFID 标签、对 WebP 图像的支持、异步报告查看、上下文菜单中的工具栏等等。这些更改适用于以下产品:FastReport .NET、 FastReport WPF、FastReport Mono、FastReport Desktop、 FastReport for DBA、 FastCube .NET。
新的 RFIDLabel 对象
新版本包括一个新对象——RFID标签。它可以识别商品,与条形码非常相似,但与条形码不同的是,它使用无线电信号。这允许在短时间内扫描大量物品。
该标签包含4个数据库:用于存储访问和销毁密码的保留库、电子产品代码库、标签标识符库和用户数据库。在FastReport .NET 产品系列中,RFID 标签表示为报表对象。该标签可以使用用户友好的编辑器进行自定义,双击即可访问。
一些 Zebra 打印机可以创建 RFID 标签,因此,除了标签对象本身之外,我们还实现了将其导出到 ZPL。为了正确导出,RFID 标签必须位于页面上的单个副本中。
支持 WebP 图像
现在有一个插件支持WebP格式的图像。现在,您可以使用报表设计器中的编辑器和代码将它们上传到 PictureObject 中。FastReport.Skia无需插件即可支持WebP图像,但上传时会转换为PNG格式。
您可以在本文中找到有关该插件的格式和使用说明的详细信息。
如何在 FastReport .NET 中打开 WebP 图像
现在,当您在应用程序中使用设计器时,您可以在设计器窗口中启动报表预览。以前,预览总是在单独的窗口中开始。为此,请在代码中添加以下行:
Config.DesignerSettings.EmbeddedPreview = true;
效果图如下:
我们还引入了用于报告准备和查看的异步方法:Report.PrepareAsync() 和 Report.ShowAsync()。它们可以在处理大型报表时使用。在这种情况下,您可以在准备报告时使用预览窗口。这样,用户就不会产生应用程序被冻结或无响应的印象。
上下文菜单中的工具栏
右键单击对象时的上下文菜单已得到改进。顶部出现一个工具栏,其中包含常用的项目,例如编辑、剪切、复制、粘贴等。
菜单过去是这样的:
新菜单变得更加紧凑和符合人体工程学:
导出到S3
我们添加了将准备好的和导出的报告上传到简单存储服务(简称 S3)的功能。新导出位于准备好的报告保存菜单的“存储”选项卡中。
首次导出期间,您需要在授权窗口中输入注册数据。
您可以在 S3 帐户设置中获取必要的密钥。您可以在服务文档中找到更多详细信息。
授权成功后,您将看到导出窗口。
您可以在此处选择要保存的存储桶、类型和文件名。如果您选择“Ready Report”以外的文件类型,则相应导出的设置将变为可用。
能够自定义条形码字体设置
“字体”属性现在可用于“条形码”对象。它允许您设置显示条形码文本时使用的字体参数。默认字体为 Arial,与以前版本中使用的字体相同。现在您可以选择不同的字体,更改其大小、样式等。因此,您可以创建例如这样的条形码:
但是,您应该小心字体设置。并非所有扫描仪都能够读取此类条形码。
导出到 Excel 2007 时的“将常规格式转换为文本”选项
Excel 2007 具有多种数据格式,其中两种非常相似:常规格式和文本格式。
一般是默认的。在大多数情况下,这种格式的数字会按输入的形式显示。但如果单元格宽度不足以显示整个数字,则会四舍五入。
文本格式始终显示输入的数据。
FastReport .NET 还具有多种格式,例如常规、数字、日期等。导出时选择适当的格式,数字将转换为数字,日期仍为日期。
默认情况下也使用 FastReport .NET 中的通用格式。它完全按照输入的方式显示数据。一般格式是System.String。反过来,FastReport .NET 中没有单独的文本格式。
Excel 2007 导出有一个新选项,允许您将 FastReport .NET 常规格式转换为 Excel 文本格式(默认情况下常规导出为常规)。
在以前的 FastReport .NET 版本中创建的报表将在新版本中以相同的方式导出,因为默认情况下禁用此选项。
支持部分报告编译
如果报表中的报表脚本未更改并且不存在不支持部分编译的对象,FastReport.Core、FastReport.Core.Skia 和 FastReport.CoreWin 现在启用报表的部分编译,以加快其准备速度。您可以使用以下命令启用它:
FastReport.Utils.Config.CompilerSettings.ReflectionEmitCompiler = true;
启用 Reflection.Emit Compiler 不会导致任何性能下降。如果新的编译器不能在新的报告中使用,它将简单地使用标准程序,而不会损害报告。
WASM 的改进
以前,您只能使用我们的 FastReport.Blazor.Wasm 库查看在浏览器中打开的报表。此更新添加了对导出的支持。现在,用户可以将生成的报告导出为各种格式,就像常规 WebReport 一样。
此外,Reflection.Emit 编译加速了报告的加载和准备,而无需 WebAssembly 中的脚本。
工具栏个性化
现在您可以创建按钮、下拉列表和输入字段等元素,并将它们添加到工具栏。这些元素可以有各种选项,包括图像、标题和样式。您还可以使用 JavaScript 和 C# 实现逻辑。
将自定义元素添加到工具栏的示例:
var button = new ToolbarButton() { Title = "MyCustomButton", OnClickAction = new ElementClickAction() { OnClickAction = async (webreport) => { webreport.LocalizationFile = "MyLocalizationFile"; } }, }; var select = new ToolbarSelect() { Title = "MyCustomSelect", Items = new List<ToolbarSelectItem> { new ToolbarSelectItem() { Title = "MySelectItem", OnClickAction = new ElementScript() { Script = "console.log('My item is working')" } } } }; var input = new ToolbarInput() { InputType = "number", OnChangeAction = new ElementChangeAction() { OnChangeAction = async (webreport, inputValue) => { webreport.Report.Prepare(); webReport.Toolbar.Height = int.Parse(inputValue); } } }; webReport.Toolbar.InsertToolbarElement(button); webReport.Toolbar.InsertToolbarElement(select); webReport.Toolbar.InsertToolbarElement(input);
因此,这些自定义元素在更改后将出现在您的工具栏中:
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3578.html