报表生成器FastReport .Net用户指南:报告继承

我们经常会有许多数据相同的报告,例如,带有公司徽标和一些数据(电子邮件、地址等)的页眉/页脚。现在设想一下,您需要更改一些公司数据,例如电子邮件。您必须在每个报告中都这样做!为了避免这种情况,您可以使用报告继承。什么是报告继承?

举例来说,每个报告中都有一些常用元素(徽标、公司名称、电子邮件等)。这些元素通常放在报告标题和/或页眉上。您可以创建一个只包含常用元素的基本报告。所有其他报告都将使用基础报告,因此将包含这些常用元素和报告中定义的自有元素。

如果需要更改某些内容(徽标、电子邮件),只需打开基本报告并进行必要的更改即可。所有其他从基本报告继承的报告都将自动更改。事实上,当你打开一个继承的报告时,首先打开的是基础报告,然后才是继承的报告。

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

FastReport.NET官方版下载(qun:585577353)icon-default.png?t=N7T8https://www.evget.com/product/1861/download

创建报告

要使用继承功能,您需要执行以下操作:

  • 创建基本报告并将其保存到文件中;
  • 创建一个继承自基本报告的新报告。

要创建继承报告,请选择 "File|New..."菜单项,然后在窗口中选择 "Inherited report "项:

fastreport

系统会要求您选择一个基础报告文件。此时必须创建该文件。之后,基础报告将加载到设计器中。您可以随意更改。您会看到基础报告中的对象都标有 "lock "标志:

fastreport

您不能删除这些对象、重命名或移动到另一个频段。

您可以添加新对象或带,更改对象的外观、大小和位置。完成后,保存报告。

更改基本报告

让我们看看如果更改基本报告会发生什么。我们可以:

  • 从基础报告中删除对象。该对象也将从继承报告中删除;
  • 将对象添加到基本报告中。该对象将自动出现在继承报告中;
  • 更改对象的大小、位置、文本和外观。如果继承报告中没有更改对象,所有更改都将反映在继承报告中。

最后一点需要解释一下。让我们看两个使用继承的例子。在第一个示例中,我们将这样做:

  • 创建一个包含 Text1 对象的基本报表;
  • 创建一个继承的报表并保存,不做任何更改;
  • 打开基本报表,移动 Text1 对象;
  • 打开继承报表,我们会看到 Text1 对象也被移动了。

在第二个示例中,我们将执行以下操作:

  • 创建一个包含 Text1 对象的基本报告;
  • 创建一个继承报告;
  • 在继承报告中,将 Text1 对象移动到新位置并保存报告;
  • 打开基本报告,将 Text1 对象移动到不同的位置;
  • 打开继承的报表,我们会发现 Text1 对象没有移动。

出现这种情况的原因是我们在继承报告中更改了对象。这一更改已保存在继承报告文件中。现在,如果我们在基本报告中更改了原始对象,那么在继承报告中将会忽略该更改。在这种情况下,新对象的位置将被忽略。所有其他更改(例如文本颜色)仍将反映在继承报告中。

如果我们查看一下继承报告文件的内容,就会清楚这种行为。例如,在未更改原始对象的情况下,原始对象是这样保存在继承报告中的:

<inherited Name="Text1"/>

如果我们更改了对象在继承报告中的位置,就会像这样保存:

<inherited Name="Text1" Left="255.15" Top="28.35"/>

打开继承报告时,FastReport 将加载基础报告中定义的所有对象属性,以及继承报告中保存的属性。

局限性

设计报表继承的目的如下:将页眉和页脚等常用报表元素保存在单独的文件中,并在继承的报表中重复使用。不要尝试使用继承来执行更复杂的任务。尤其要避免以下操作:

  • 不要从被继承的报表中继承报表(即不要继承两次);
  • 不要在基本报表中使用表格和矩阵等复杂对象;
  • 不要在基本报告中使用脚本
  • 不要在基本报告中使用参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/200544.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

服务器修复

服务器修复 主要服务器漏洞展示未禁用sync、shutdown、halt默认账户。未创建系统管理员、审计管理员、安全管理员账户设置系统管理员设置安全管理员 设置审计管理员配置PASS_MAX_DAYS 99999、PASS_MIN_LEN 5未配置TMOUT值配置HISTSIZE0未配置登录失败/密码复杂度策略umask值022…

高效的将两个文件夹中多余的文件删除

高效的将两个文件夹中多余的文件删除 解决方案 之前使用的是这个方法&#xff0c;但是图像太多&#xff0c;需要删除的有70W张&#xff0c;得删10多天。。 将两个文件夹中重复的图象删除 解决方案 先将image图像复制一份&#xff0c;然后改名为txt import osdef change_file…

智慧环保:视频监控平台EasyCVR与AI智能分析在环保领域的应用

人工智能&#xff08;AI&#xff09;视频分析技术在环保领域有着广泛的应用&#xff0c;通过智能识别和跟踪技术&#xff0c;AI视频分析可以实时监测空气质量、水质和噪音等环境指标&#xff0c;帮助环保部门及时发现污染源并进行有效治理&#xff0c;提高监测、管理和保护环境…

【古月居《ros入门21讲》学习笔记】10_话题消息的定义与使用

目录 说明&#xff1a; 1. 话题模型 2. 实现过程&#xff08;C&#xff09; 自定义话题消息 Person.msg文件内容 Person.msg文件内容说明 编译配置 在package.xml文件中添加功能包依赖 在CMakeLists.txt中添加编译选项 编译生成语言相关文件 创建发布者代码&#xff…

wifi8 Multi-AP介绍

作为一种结构&#xff0c;multi-AP最早在wifi7的草案中被提出。 但是wifi7估计不会加入。 现在变成了wifi8的路线。 比如下面是一种设想。总体是以若干BSS为单位。 每个BSS的信息都可以在CC处得到。这样就是一种基于CC的总控的MAP。 总控分为两个TDMA&#xff0c; 第一个TD…

数据结构算法-分支定界算法

引言 应该记得这一张图片&#xff0c;在A星算法里面说过 那么现在说的是换一种方式实现 如何实现&#xff1f; 之前不撞南墙不回头的方法-深度优先搜索 的方式 广度优先搜索方式 广度优先搜索&#xff1a;就是说按照顺序入队 并且搜索扩展节点 探测四面八方&#xff0c;如此循环…

Redis面试题:分片集群相关问题

目录 面试官&#xff1a;redis的分片集群有什么作用 面试官&#xff1a;Redis分片集群中数据是怎么存储和读取的&#xff1f; 面试官&#xff1a;redis的分片集群有什么作用 候选人&#xff1a;分片集群主要解决的是&#xff0c;海量数据存储的问题&#xff0c;集群中有多个m…

java第20章节

一.线程简介 二.创建线程 1.继承Thread类 Thread类中常用的两个构造方法如下&#xff1a; public Thread():创建一个新的线程对象。 public Thread(String threadName):创建一个名称为threadName的线程对象。 继承Thread类创建一个新的线程的语法如下&#xff1a; public c…

Vue拖拽div移动位置

<div id"TestDiv" mousedown"OnMouseDown"></div> css #TestDiv { position: absolute;left: 50%;top: 50%;width: 100px;height: 100px;z-index: 999;background-color: red; } 处理函数 const OnMouseDown(e:any)> {let videoBox:any…

游戏缺少d3dx9_43.dll修复方法分享,快速解决dll缺失问题

在计算机使用过程中&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“找不到d3dx9_43.dll文件”。这个错误通常出现在运行某些游戏或应用程序时&#xff0c;d3dx9_43.dll是一个动态链接库文件&#xff0c;它是DirectX 9的一部分&#xff0c;用于支持游戏中的3…

建筑行业有哪些好用的项目管理软件或者OA系统?

建筑行业有哪些好用的项目管理软件或者OA系统&#xff1f; 在现代社会中&#xff0c;系统已经成为了企业人事信息化、项目管理等方面必不可少的工具。尤其是对于建筑行业的工程项目管理和人事OA而言&#xff0c;借助系统进行协同、计划、控制等方面的工作&#xff0c;已经成为…

新手小白必看!一文带你了解跨境电商独立站

对于很多新手跨境电商来说&#xff0c;或许你对亚马逊、ebay、速卖通这些跨境电商平台已经有所了解&#xff0c;那你知道跨境电商独立站吗&#xff1f;应该也有不少朋友对跨境电商独立站感兴趣&#xff0c;特别是现在各大跨境电商平台越来越卷&#xff0c;很多跨境卖家都开始通…

手把手教你通过CODESYS V3进行PLC编程(三)

教程背景 通过之前的教程&#xff0c;我们已经为大家演示了宏集MC-Prime控制器的连接、试运行和CODESYS的安装&#xff0c;并创建了一个计数器项目。在本期教程中&#xff0c;我们将进一步深入&#xff0c;教大家如何使用CODESYS的可视化界面。 一、两种可视化方式 在CODESYS…

代码混淆的原理和方法详解

代码混淆的原理和方法详解摘要移动App的广泛使用带来了安全隐患&#xff0c;为了保护个人信息和数据安全&#xff0c;开发人员通常会采用代码混淆技术。本文将详细介绍代码混淆的原理和方法&#xff0c;并探讨其在移动应用开发中的重要性。 引言随着移动应用的普及&#xff0c;…

C语言数组的距离(ZZULIOJ1200:数组的距离)

题目描述 已知元素从小到大排列的两个数组x[]和y[]&#xff0c; 请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个&#xff0c;这叫做数组的距离 。 输入&#xff1a;第一行为两个整数m, n(1≤m, n≤1000)&#xff0c;分别代表数组f[], g[]的长度。第二行有m个元素&a…

无人机覆盖路径规划综述

摘要&#xff1a;覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来&#xff0c;无人机已被应用于涉及地形覆盖的多个应用领域&#xff0c;如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方…

JavaScript 的初步学习下篇

函数 语法格式 创建函数/函数声明/函数定义 function 函数名(形参列表) {函数体return 返回值; }函数调用 函数名(实参列表) // 不考虑返回值 返回值 函数名(实参列表) // 考虑返回值 注: 函数定义并不会执行函数体内容, 必须要调用才会执行. 调用几次就会执行几次. js 中…

【华为数通HCIP | 网络工程师】821刷题日记-BFD和VRRP 及重点(1)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

Java 基础学习(四)操作数组、软件开发管理

1 操作数组 1.1.1 System.arraycopy 方法用于数组复制 当需要将一个数组的元素复制到另一个数组中时&#xff0c;可以使用System.arraycopy方法。它提供了一种高效的方式来复制数组的内容&#xff0c;避免了逐个元素赋值的繁琐过程。相对于使用循环逐个元素赋值的方式&#x…

使用Wordpress 从0-1 制作一个博客网站

一. 做网站准备 购买域名 域名使用的是二级域名&#xff1a;blog.zmrw.net&#xff08;在浏览器可以提前预览网站制作后效果&#xff09; 购买服务器 服务器使用A2 Hosting 购买Wordpress 主题 主题使用的是 Porto 主题 二. 开始建站 1. 将域名添加至 Cloudflare 2. 将…