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控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3439.html