FastReport中国社区FastReport联系电话 联系电话:023-68661681

如何基于自定义变量绘制图表

来源:   发布时间:2020-01-19   浏览:3772次

报表的重要部分是图形组件,即图形和图表。它们使您能够快速分析数据以评估增长或下降的趋势,或者只是快速读取信息。这就是人类感知的工作方式,即图形信息的接收速度更快。因此,在路标上,您可以立即看到大脑可以理解和解释的图像。

图表基于统计数据。通常,它们是从数据库中获取的。但是在某些情况下,有必要根据转换后的数据构建时间表。例如,使用执行的初始数据计算。一些报表生成器仅允许使用现成的数据源。这不方便,因为转换数据是执行报表所必需的。

让我们看一下List & Label报表生成器用户在其问题中提出的困难:

嗨,我有一个报表,我在其中声明了一堆具有各种计算的用户变量。我试图在饼图中显示这些变量,这可能吗?我似乎不知道该怎么做?

如何基于自定义变量绘制图表

要在List & Label中实现此目的,您将必须创建一个中间表并将变量中的数据写入其中。事实是,饼图类型图表仅适用于表格数据源。图表段是通过汇总数据来计算的。

生成器FastReport.Net报表可以在图表中使用来自源的数据,并且可以在编辑器中手动添加数据。但是,FastReport报表具有内置的脚本,可以“联手”并提供自定义代码中图形的功能。这意味着我们可以“滑动”图中的任何数据。例如,您在报表中执行计算,然后将结果保存在报表变量中,然后希望基于它们建立图形。它很容易实现。

如何基于自定义变量绘制图表

您还可以在报表页面上添加MSChart对象,并创建事件处理程序BeforePrint:

private void MSChart1_BeforePrint(object sender, EventArgs e)
 {
 MSChart1.DeleteSeries(0); //Delete default series
 MSChart1.AddSeries(SeriesChartType.Pie); //Add new series with pie-chart
 MSChart1.Series[0].SeriesSettings.Points.Clear(); //Wipe series data
 //Look through all parameters in the report
 foreach (Parameter param in Report.Parameters)
 {
 //Add to a series a point on Y axis. For the pie-chart Y axis are enough
 MSChart1.Series[0].SeriesSettings.Points.AddY(param.Value);
 }
 //Enable the legend
 MSChart1.Chart.Legends[0].Enabled = false;
 //Set series labels of the pie-chart
 MSChart1.Series[0].SeriesSettings.Label = "#VALY";
 //Set height of the MSChart object
 MSChart1.Height = 500;
 //Set width of the MSChart object
 MSChart1.Width = 500;
 }

结果,我们将得到这样的饼图:

如何基于自定义变量绘制图表

在此示例中,我们将报表的参数用作数据源,但您也可以在报表的脚本、数组、集合中使用变量。

不幸的是,在FastReport.Net的官方文档中,没有MSChart对象的属性和方法的描述。该组件非常复杂,需要进行很多设置,因此您必须花一些时间通过实验找到合适的属性。在此示例中,我展示了使用最小设置快速创建图形的最简单方法。

产品介绍 | 下载试用 | 优惠活动 | 在线客服

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

相关产品: FastReport.Net,


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


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