FastReport中国社区FastReport联系电话 联系电话:17347785263

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

来源:   发布时间:2023-01-03   浏览:次

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

FastReport.NET官方版下载(技术交流群:536197826

上一篇我们了解了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 .Net | 下载试用

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3439.html

联系我们
  • 重庆总部 17347785263
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部