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

Fastreport是目前世界上主流的图表控件,具有超高性价比,以更具成本优势的价格,便能提供功能齐全的报表解决方案,连续三年蝉联全球文档创建组件和库的“ Top 50 Publishers”奖。慧都科技是Fast Reports在中国区十余年的友好合作伙伴,连续多年被Fast Reports授予中国区Best Partner称号。

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

上一篇我们了解了FastReport .Net五大常见问题及解决办法,今天我们继续讨论常会遇见的问题和解决方法,今天将带来10个问题的分享。

问题1:如何从代码创建MSChartObject?

1.新建MSChart对象,设置宽高和图例:

MSChartObject MSChart1 = new MSChartObject();
MSChart1.Width = 300;
MSChart1.Height = 300;
MSChart1.Chart.Legends.Add(new Legend() { Name = "Legend1", Title="Legend title"});

2. 创建 ChartArea 对象,设置名称、轴标题并将创建的 ChartArea 分配给 MSChart:

ChartArea chartArea1 = new ChartArea();
chartArea1.Name = "ChartArea1";
chartArea1.Axes[0].Title = "X name";
chartArea1.Axes[1].Title = "Y name";
MSChart1.Chart.ChartAreas.Add(chartArea1); 

3.创建Series对象,设置图表类型,边框宽度,添加点并为图表分配系列:

Series series = new Series("sample");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
 
MSChart1.Chart.Series.Add(series);

4.将创建的MSChart赋值给DataBand:

Report report = new Report();
report.Load("ok.frx");
DataBand db = report.FindObject("Data1") as DataBand;
 
MSChart1.Parent = db;

和完整的片段:

MSChartObject MSChart1 = new MSChartObject();
MSChart1.Width = 300;
MSChart1.Height = 300;
MSChart1.Chart.Legends.Add(new Legend() { Name = "Legend1", Title="Legend title"});
 
ChartArea chartArea1 = new ChartArea();
chartArea1.Name = "ChartArea1";
chartArea1.Axes[0].Title = "X name";
chartArea1.Axes[1].Title = "Y name";
MSChart1.Chart.ChartAreas.Add(chartArea1); 
 
Series series = new Series("sample");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
 
MSChart1.Chart.Series.Add(series);
 
Report report = new Report();
report.Load("ok.frx");
DataBand db = report.FindObject("Data1") as DataBand;
MSChart1.Parent = db;

结果:

问题2:我的订阅已过期,在哪里可以下载该产品的最新可访问版本?

在 support.fast-report.com 上向我们发送有关此内容的电子邮件,我们将为您提供最接近您的版本。

问题3:如何在构建或查看报表时关闭ProgressForm ?

您可以在 EnvironmentSettings 中关闭 ProgressForm:

Report report = new Report();
report.LoadPrepared("1.fpx");
EnvironmentSettings s = new EnvironmentSettings();
s.ReportSettings.ShowProgress = false;
report.Show();

问题4:如何返回/ 重置默认的Designer设置?

您应该从 C:\Users\"Your user's name"\AppData\Local\FastReport 文件夹中删除 FastReport.config 文件。

问题5:我不喜欢其中一种本地化的翻译,我该如何改进它?

您可以在 FastReports\FastReport.Net\Localization 文件夹中找到需要的本地化 *.frl 文件并对其进行改进。如果所需文件中没有字段,请向我们 (support.fast-report.com) 咨询获取英文本地化文件,根据英文版本添加字段。 

问题6:如何为所需语言创建本地化?

请发送电子邮件至 tz@fast-report.com 或 support.fast-report.com 与我们联系,我们将为您提供英文本地化文件以创建所需的本地化文件。将您的本地化文件 (*.frl) 发送给我们,我们会将其添加到新版本中,并给予您奖励!
 

问题7:如何从代码中获取查询参数值?

建议您使用以下代码段:

Report.Dictionary.Connections[0].Tables[0].Parameters[0].Value.ToString();

问题8:如何将HTML格式的报告嵌入到消息中并使用代码通过电子邮件发送?

请使用以下代码段

Report report = new Report();
report.LoadPrepared("preparedreport.fpx");

HTMLExport htmlExport = new HTMLExport()
{
SubFolder = false,
Navigator = false,
Pictures = true,
EmbedPictures = true,
SinglePage = true,
Layers = true,
HasMultipleFiles = false
};
EmailExport email = new EmailExport();
 
//email mailer settings
email.Account.Address = "Email@gmail.com";
email.Account.Name = "Usename";
email.Account.Host = "smtp.yandex.ru";
email.Account.Port = 25;
email.Account.UserName = "Email";
email.Account.Password = "password";
email.Account.MessageTemplate = "Test";
email.Account.EnableSSL = true;
 
//email addressee settings
email.Address = "Destinationaddress@gmail.com";
email.Subject = "Embedding of html";
 
email.Export = htmlExport; //Set export type
email.SendEmail(report); //Send email 

问题9:网络演示不起作用

如果您无法从 Demos\C#\Web 文件夹运行演示,那么您可以:
1.修复NuGet包;

2.从“包”中添加所有必要的引用;

3. 从根文件夹和视图中的 Web.Config 中更改当前的构建版本。

问题10:如何将多份报告合二为一

对于桌面版您可以使用这个代码段

Report report = new Report(); 
report.Load(Path.GetFullPath(@"..\..\Report1.frx")); 
report.Prepare(true); 
report.Load(Path.GetFullPath(@"..\..\Report2.frx")); 
report.Prepare(true); 
report.Load(Path.GetFullPath(@"..\..\Report3.frx")); 
report.Prepare(true); 
report.ShowPrepared();

对于网页版您可以使用这一段代码

webReport.Report.Load(Path.GetFullPath(@"..\..\Report1.frx")); 
webReport.Report.Prepare(true); 
webReport.Report.Load(Path.GetFullPath(@"..\..\Report2.frx")); 
webReport.Report.Prepare(true); 
webReport.Report.Load(Path.GetFullPath(@"..\..\Report3.frx")); 
webReport.Report.Prepare(true); 
webReport.ShowRefreshButton = false; 
webReport.ReportDone = true; 

关于“FastReport .NET中十大常见问题的讲解就到这里了,进入“FastReport中文网获取更多常见问题的解答。

如您有更多相关问题,欢迎加入官方技术群交流解决(见第一段下方链接处)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值