报表开发工具FastReport.NET的五大常见问题及解决方法

news2024/11/17 19:52:44

Fastreport是目前世界上主流的图表控件,具有超高性价比,以更具成本优势的价格,便能提供功能齐全的报表解决方案,连续三年蝉联全球文档创建组件和库的“ Top 50 Publishers”奖。

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

上一篇我们了解到了在使用FastReport .Nets十大常见问题及解决办法,今天我们继续讨论常常遇到的5个问题及解决方法。

问题1:如何从代码继承报告?

1.需要您创建新报告:

Report report = new Report();

2.添加 CustomLoadEventHandler 加载基础报表:

report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport); 

3.加载继承报表:

report.Load("InheritReport.frx"); 

4.删除CustomLoadEventHandler:

report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport); 

5.您可以显示报告或编辑报告,报告有基础报告和继承报告:

report.Show(); 

同时还需要创建加载基础报告的事件:

private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e) 
{ 
// e.FileName contains the name of base report. It may be the file name, or an ID in the database, 
// it depends on how you load the main report 
e.Report.Load("C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx"); 
}  

完整的代码

public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }
 
 private void Form1_Load(object sender, EventArgs e)
 {
 Report report = new Report();
 report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport);
 report.Load("InheritReport.frx");
 report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport);
 
 report.Show();
 }
 
 private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e)
 {
 // e.FileName contains the name of base report. It may be the file name, or an ID in the database,
 // it depends on how you load the main report
 e.Report.Load("C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx");
 }
 }

如果要从数据库加载报告,请替换 LoadFromString() 上的 Load() 方法。

问题2:如何删除最终用户的代码选项卡?

将“EnvironmentSettings”控件添加到您的表单。 
然后在调用 report.Design() 之前添加以下行:

environmentSettings1.DesignerSettings.Restrictions.DontEditCode = true;

这样数据控件将被禁用。

问题3:如何在WPF应用程序中使用FastReport.Net控件?

您应该为它使用 WindowsFormsHost 控件:
0) 添加对FastReport.dll的引用;
1) 添加属性到Window(Page) 标签: xmlns:fr="clr-namespace:FastReport.Preview;assembly=FastReport" 如果你想使用PreviewControl, xmlns:fr1="clr-namespace:FastReport.Design;assembly= FastReport" - 如果是 DesignerControl;

2) 将 WindowsFormsHost 标记添加到您的 XAML 标记中:

<WindowsFormsHost  Horizo ntalAlignment = "Stretch"  VerticalAlignment = "Stretch"  Grid.Column = "0"  Grid.ColumnSpan = "3" > 
</WindowsFormsHost > 

3) 将子项添加到 WindowsFormsHost 中:<fr:PreviewControl></fr:PreviewControl> 或 <fr1:Designer></fr1:Designer>。

完整标记应类似于以下代码段:

<Window
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
 x:Class="WpfApplication1.MainWindow"
 Title="MainWindow" Height="375.977" Width="939.258"
 xmlns:fr="clr-namespace:FastReport.Preview;assembly=FastReport">
 <Grid>
 <Grid.ColumnDefinitions>
 <ColumnDefinition Width="*"/>
 <ColumnDefinition Width="*"/>
 <ColumnDefinition Width="*"/>
 </Grid.ColumnDefinitions>
 <WindowsFormsHost HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="3">
 <fr:PreviewControl></fr:PreviewControl>
 </WindowsFormsHost>
 </Grid>
</Window>

问题4:如何以编程方式设置格式的值

您可以使用以下代码在脚本或项目中执行此操作:

FastReport.Format.NumberFormat format = new FastReport.Format.NumberFormat(); format.UseLocale = false; format.DecimalDigits = 2; format.DecimalSeparator = "."; format.GroupSeparator = ",";

接下来:

textObject.Formats.Clear(); textObject.Formats.Add(format);

问题5:如何在MSChartObject中创建一条有间隙的线?

您应该创建基础 System.Windows.Forms.DataVisualization.Charting.Series 对象并在那里创建行。在此之后应该为 MSChartObject 基本图表分配创建的系列(MSChart1.Chart.Series.Add(系列);)不要忘记 在 Report -> Script 菜单和命名空间 System.Windows.Forms 中添加 System.Windows.Forms.DataVisualization.dll .DataVisualization.Charting。
带间隙的线示例:

.
.
using System.Windows.Forms.DataVisualization.Charting;
 
namespace FastReport
{
 public class ReportScript
 {
 private void MSChart1_BeforePrint(object sender, EventArgs e)
 { 
 Series series = new Series("sample");
 series.ChartType = SeriesChartType.Line;
 series.BorderWidth = 2;
 series.MarkerSize = 5;
 
 series.Points.Add(new DataPoint(0, 1));
 series.Points.Add(new DataPoint(1, 2));
 DataPoint dp = new DataPoint(2, double.NaN);
 dp.IsEmpty = true;
 series.Points.Add(dp);
 series.Points.Add(new DataPoint(3, 5));
 series.Points.Add(new DataPoint(4, 8)); 
 
 MSChart1.Chart.Series.Add(series);
 
 }
 }
}

关于“FastReport .NET五大常见问题的讲解就到这里了,点击查看上一章常见问题解答:FastReport .Nets十大常见问题及解决办法。

如您有更多相关问题,欢迎进入FastReport中文网获取更多授权、教程等资源。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑马Hive+Spark离线数仓工业项目--数仓主题应用层ST层构建(1)

数仓主题应用层ST层构建 1. 构建ST层&#xff1a;数据应用层 掌握每个主题的聚合指标和聚合的维度 - 工单主题 - 油站主题 - 回访主题 - 安装主题 - 费用主题2. DM层的设计 - 运营部门需要的数据抽取 数仓分层回顾 目标&#xff1a;回顾一站制造项目分层设…

使用命令设置Windows音量和音频输出设备

前言 Windows似乎并没有音量设置的命令&#xff0c;也没有输出设备的设置命令。如果你知道&#xff0c;请告诉我一下~ 因此&#xff0c;这里使用了一个神级小工具&#xff1a;nircmd 官网下载地址&#xff1a; 32位&#xff1a;http://www.nirsoft.net/utils/nircmd.zip 64…

2023年网络安全工程师面试题合集【首发】

以下为信息安全各个方向涉及的面试题&#xff0c;星数越多代表问题出现的几率越大&#xff0c;祝各位都能找到满意的工作~ 【一一帮助安全学习【点我】一一】①网络安全学习路线②20 份渗透测试电子书③安全攻防 357 页笔记④50 份安全攻防面试指南⑤安全红队渗透工具包⑥网络安…

Mathorcup数学建模竞赛第五届-【妈妈杯】D题:图像去噪中几类稀疏变换的矩阵表示(附一等奖获奖论文和matlab代码实现)

赛题描述 假设一幅二维灰度图像 X 受到加性噪声的干扰:Y=X+N ,Y 为观察到的噪声图像, N 为噪声。通过对于图像 Y 进行稀疏表示可以达到去除噪声的目的。任务: 2. 利用 Cameraman 图像中的一个小图像块(见图 1)进行验证。 3. 分析稀疏系数矩阵,比较四种方法的硬阈值稀…

类和对象(中)

原文再续&#xff0c;书接上回&#xff01;&#xff01; 继续类和对象的学习。 目录 构造函数 析构函数 拷贝构造 赋值重载 运算符重载 const成员 取地址及const取地址操作符重载 当我们没有向类中写入任何成员的时候&#xff08;也就是空类&#xff09;&#xff0c;类中…

【每日一题Day72】LC855考场就座 | 构造数据结构 动态数组+二分查找

考场就座【LC855】 There is an exam room with n seats in a single row labeled from 0 to n - 1. When a student enters the room, they must sit in the seat that maximizes the distance to the closest person. If there are multiple such seats, they sit in the sea…

宝藏又小众的东方行走rpg制作大师素材网站分享

看到大家都在问东方行走rpg制作大师素材&#xff0c;既要免费又要质量好&#xff0c;数量还要多&#xff0c;小编好不容易挖到了宝藏素材网站哦&#xff0c;资源优质数量庞大&#xff0c;使用体验也很好&#xff0c;要是需要的话&#xff0c;赶紧看一看&#xff0c;小编会给大家…

深潜价值互联网蓝海,2022中国区块链产业发展报告发布|陀螺研究院年终献礼...

2022年&#xff0c;是全球发展史上重要的一年&#xff0c;在俄乌冲突以及全球通胀的大背景下&#xff0c;全球经济环境风高浪急、风云诡谲&#xff0c;数字经济正以前所未有的速度冲击着世界固有格局&#xff0c;并成为撬动全球经济复苏和快速增长的新杠杆。围绕数字经济的科技…

软考在哪可以报名?

软考每年有两次考试&#xff0c;分别安排在上半年和下半年&#xff0c;上半年考试时间为5月下旬&#xff0c;下半年考试时间为11月上旬&#xff0c;每年考试时间并不是固定的。 2023年软考考试时间 根据往年软考时间安排来看&#xff0c;预计2023年软考考试时间上半年在5月中…

vue - - - - - 你不知道的技巧

vue - 你不知道的技巧1. 路由参数获取1. 路由参数获取 关于路由参数的获取&#xff0c;相信如下操作很常见: <script> export default {data() {return {};},mounted() {console.log("路由参数", this.$route.params.id);} }; </script>还有一种不太常…

C Primer Plus 第六版(中文版)第十五章(完美修订版)编程练习答案

//本博主所写的代码仅为阅读者提供参考&#xff1b; //若有不足之处请提出&#xff0c;博主会尽其所能修改&#xff1b; //附上课后编程练习题目&#xff1b; //若是对您有用的话请点赞或分享提供给它人&#xff1b; //---------------------------------------------------…

操作系统——进程与线程

进程与线程一、进程的概念1、进程和进程实体2、进程的组织方式3、进程的特征二、进程的状态与转换1、进程的状态2、进程的转换三、进程控制1、定义2、原语控制①创建原语②撤销原语③阻塞原语④唤醒原语⑤切换原语四、进程通信方法一&#xff1a;共享内存方法二&#xff1a;管道…

惠州学院采购JKTD-1000型铁电材料测试仪

惠州学院采购JKTD-1000型铁电材料测试仪 JKTD-1000型铁电材料测试仪 模式测量电路&#xff0c;与传统的 Sawyer-Tawer-模式相比&#xff0c;此电路取消了外接电容&#xff0c;可减小寄生元件的影响。此电路的测试精度取决于积分器积分电容的精度&#xff0c;减少了对测试的影响…

软件测试概念篇

目录 1.软件测试 2.需求 2.1 用户需求 2.2 软件需求 2.3 测试人员眼里的需求 2.4 需求的重要性 3.测试用例 3.1 什么是测试用例 3.2 为什么有测试用例 4.BUG 4.1 BUG的概念 4.2 如何描述一个BUG 4.3 如何定义BUG的优先级 4.4 BUG的生命周期 5.软件生命周期 6. …

RocketMQ 基本概念与工作原理

一、基本概念 消息(Message) 消息&#xff08;Message&#xff09;就是要传输的信息。一条消息必须有一个主题&#xff08;Topic&#xff09;&#xff0c;主题可以看做是你的信件要邮寄的地址。 主题(Topic) Topic表示一类消息的集合&#xff0c;每个主题包含若干条消息&am…

A机器连接同一局域网下的B机器的虚拟机中的mysql

一 背景描述 1.1 需求描述 B机器windows10 的机器ip为&#xff1a; 172.16.71.13 在其上的虚拟机中安装了mysql&#xff0c;虚拟机的ip为 192.168.152.141 。 A机器的ip为&#xff1a;172.16.71.14 &#xff1b; 需求&#xff1a; A机器想访问 B机器172.16.71.13 这台机…

aardio - 【库】libxl库,一个dll操作excel

经常用到excel操作&#xff0c;也有几个现成的库能实现我需要的功能&#xff0c;但用起来总是感觉不顺手。 于是便抽了两天时间&#xff0c;在aaz.libxl库的基础上&#xff0c;按照我的使用习惯进行了修改。 以后再也不用为操作excel发愁啦。 下载地址&#xff1a;http://che…

广州车展|埃安超跑Hyper GT登场,给年少有为者的时代献礼

近年来&#xff0c;随着中国新能源的技术日趋成熟&#xff0c;中国新能源车开始蓬勃发展&#xff0c;逐渐占据了可观的市场份额&#xff0c;并朝着高端化迈进。有一个有趣的现象&#xff1a;希望进军豪华纯电市场的中国车企&#xff0c;几乎都会与特斯拉对标。然而&#xff0c;…

2023新一代设备管理系统助力企业高效化巡检

设备数量和种类都比较多的情况下&#xff0c;工厂设备管理员的工作往往压力巨大&#xff0c;因为生产环环相扣&#xff0c;每一个环节如果出现问题&#xff0c;都会影响到生产。如果隐患不能及时处理&#xff0c;会影响设备的正常和安全运转&#xff0c;严重的会波及到周围相关…

SpringBoot+Shiro+JWT+Mybatis-Plus搭建admin-shiro管理系统

1、项目背景 从零开始搭建一个项目骨架&#xff0c;最好选择合适&#xff0c;熟悉的技术&#xff0c;并且在未来易拓展&#xff0c;适合微服务化体系等。所以一般以Springboot作为我们的框架基础&#xff0c;这是离不开的了。 然后数据层&#xff0c;我们常用的是Mybatis&…