项目中有报表图形化的需求, 于是开始在网上找第三方chart控件。因时间紧迫,大至确定了几个候选:一、Office带的OWC控件;二、ComponentOne;三、Web Chart。本文将讲解ASP.NET报表控件。
OWC似乎使用者居多,但看见有网友在帖中抱怨OWC在使用时需要许可证书,于是将其排除,我可不想BOSS在看报表时弹出一个“没有许可证书”的窗口。
接着找到了ComponentOne的Web chart做出的各种效果图,效果极佳。我一下子被迷住了,决定就是它,于是马不停蹄的下了最新版100多M的安装文件,又花一上午找了个可以用的注册码,再找了篇教程,OK万事俱备,兴匆匆的开始写代码。需求不复杂,在一个页面上画出多条折线图即可,根据以往经验,这种大型商业共享软件在官方站点上看两个Example顶多一小时绝对能搞定的。但结果让我非常的恼火,官方的Example简单的它偏不提供,弄些什么AJAX的,一大堆实现辅助效果的代码,你要找的核心的那三四行打死也找不到,好像就怕你一下子把它的Example看明白了。历来讨厌这种软件。于是卸载、删除......等全部弄完,一天过去了。
还好,后来找到了Web Chart。代码超简洁,效果也还不错,写些简单的ASP.NET报表控件示例供大家参考:
ASP.NET报表控件一、折线图
1.//引用命名空间
2.using WebChart;
3.
4.//定义一个颜色数组,供循环时为不同的记录填充不同的颜色
5.private string[] myColor = new string[]
6.{
7. "Tomato",//西红柿
8. "Black",
9. "Gold",
10. "Blue",
11. "Green",
12. "Orange",
13. "Pink",//粉红
14. "Violet",//紫罗兰
15. "Orchid",//淡紫色
16. "Lime",//亮绿
17. "Tan",//茶色
18. "Red",
19. "Navy"//橘红
20.};
21.
22.//用静态方式示例了画出一条两个点的最简单折线.实际项目据此做循环而以.
23.private void doIt()
24.{
25. //创建折线对象
26. LineChart myChart = new LineChart();
27. //为折线填充颜色
28. myChart.Line.Color = Color.FromName(myColor[0]);
29. myChart.Fill.Color = Color.FromName(myColor[0]);
30. myChart.LineMarker = new DiamondLineMarker(8, Color.FromName(myColor[0]), Color.FromName(myColor[0]));
31. //图例说明
32. myChart.Legend = "折线一";
33. //添加第一个点,参数一为x座标上的名称,参数二为y座标上的值
34. myChart.Data.Add(new ChartPoint("一", float.Parse("100")));
35. //添加第二个点
36. myChart.Data.Add(new ChartPoint("二", float.Parse("200")));
37. //chart为控件ID
38. this.chart.Charts.Add(myChart);
39. this.chart.RedrawChart();
40.}