《C#.net使用DotNetCharting控件生成报表统计图.pdf》由会员分享,可在线阅读,更多相关《C#.net使用DotNetCharting控件生成报表统计图.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#.net 使用 DotNetCharting 控件生成报表统计图 在做项目时要对数据进行统计分析,所以必须生成一些报表统计图(如柱形图、饼图、曲线图等),网上强烈推荐了使用 DotNetCharting 控件来实现,于是自己对 DotNetCharting 控件进行了简单的学习,下面先简单介绍一下 DotNetCharting 控件及其使用.DotNetCharting 是一个非常棒的.NET 图表控件,对中文支持非常好,而且操作方便,开发快速,既有 for webform 也有 for winform 的,而且。net1。1 和 2。0 都有支持。它的官方地址是 http:/ DotNe
2、tCharting 破解版本下载:http:/blogs。com/dreamof/dotnetcharting.rar 强烈推荐一下 DotNetCharting 的 demo 地址:这个是所有的 DEMO 演示 http:/ 这个是 Online Documentation http:/www.dotnetcharting。com/documentation/v4_4/webframe.html 里面会有详细的说明和用法。DotNetCharting 的简单使用方法:1.把bindotnetCHARTING.dll 添加到工具箱,并且添加引用;2。把控件拖到你的网页上,然后添加引用 usin
3、g dotnetCHARTING;就可以用了;3.接下来是自己写的对 DotNetCharting 操作的封装类,以便于在程序里调用。ShowData。cs using System;using System.Data;using System.Text;using dotnetCHARTING;namespace FLX.ComplexQuery /summary /彭建军 /根据数据动态生成图形(柱形图、饼图、曲线图)/200806-19 /public class ShowData 属性#region 属性 private string _phaysicalimagepath;/图片存放
4、路径 private string _title;/图片标题 private string _xtitle;/图片 x 座标名称 private string _ytitle;/图片 y 座标名称 private string _seriesname;/图例名称 private int _picwidth;/图片宽度 private int _pichight;/图片高度 private DataTable _dt;/图片数据源 /*/summary /图片存放路径 /summary public string PhaysicalImagePath set_phaysicalimagepath
5、=value;getreturn _phaysicalimagepath;/summary /图片标题 /summary public string Title set_title=value;getreturn _title;/*/summary /图片标题 /summary public string XTitle set_xtitle=value;getreturn _xtitle;/*/图片标题 /图例名称 /summary public string SeriesName set_seriesname=value;getreturn _seriesname;/*/summary /图
6、片宽度 /summary public int PicWidth set_picwidth=value;getreturn _picwidth;/*/summary /图片高度 /summary public int PicHight set_pichight=value;getreturn _pichight;/*/图片数据源 /summary public DataTable DataSource set_dt=value;getreturn _dt;endregion 构造函数#region 构造函数 public ShowData()/TODO:在此处添加构造函数逻辑 /public
7、ShowData(string PhaysicalImagePath,string Title,string XTitle,string YTitle,string SeriesName)_phaysicalimagepath=PhaysicalImagePath;_title=Title;_xtitle=XTitle;_ytitle=YTitle;_seriesname=SeriesName;endregion 输出柱形图#region 输出柱形图 /returns public void CreateColumn(dotnetCHARTING.Chart chart)chart。Title
8、=this。_title;chart.XAxis.Label。Text=this。_xtitle;chart.YAxis.Label。Text=this。_ytitle;chart.TempDirectory=this._phaysicalimagepath;chart.Width=this._picwidth;chart。Height=this。_pichight;chart。Type=ChartType.Combo;chart。Series。Type=SeriesType.Cylinder;chart。Series。Name=this._seriesname;chart。Series。Da
9、ta=this._dt;chart。SeriesCollection。Add();chart.DefaultSeries。DefaultElement.ShowValue=true;chart.ShadingEffect=true;chart。Use3D=false;chart。Series.DefaultElement.ShowValue=true;endregion 输出饼图#region 输出饼图 /*/returns public void CreatePie(dotnetCHARTING.Chart chart)chart。Title=this。_title;chart.TempDi
10、rectory=this。_phaysicalimagepath;chart。Width=this._picwidth;chart。Height=this._pichight;chart.Type=ChartType。Pie;chart.Series。Type=SeriesType。Cylinder;chart.Series。Name=this._seriesname;chart。ShadingEffect=true;chart。Use3D=false;chart。DefaultSeries。DefaultElement。Transparency=20;chart。DefaultSeries。
11、DefaultElement。ShowValue=true;chart.PieLabelMode=PieLabelMode.Outside;chart。SeriesCollection。Add(getArrayData());chart.Series。DefaultElement。ShowValue=true;private SeriesCollection getArrayData()SeriesCollection SC=new SeriesCollection();DataTable dt=this。_dt;for(int i=0;i dt.Rows.Count;i+)Series s=
12、new Series();s.Name=dt.Rowsi0.ToString();Element e=new Element();/每元素的名称 e。Name=dt.Rowsi0。ToString();/每元素的大小数值 e。YValue=Convert。ToInt32(dt.Rowsi1.ToString());s。Elements。Add(e);SC.Add(s);return SC;endregion 输出曲线图#region 输出曲线图 /returns public void CreateLine(dotnetCHARTING。Chart chart)chart。Title=this
13、._title;chart。XAxis.Label。Text=this._xtitle;chart.YAxis。Label.Text=this._ytitle;chart.TempDirectory=this。_phaysicalimagepath;chart.Width=this。_picwidth;chart.Height=this._pichight;chart.Type=ChartType.Combo;chart。Series.Type=SeriesType.Line;chart.Series.Name=this。_seriesname;chart.Series。Data=this._
14、dt;chart。SeriesCollection.Add();chart。DefaultSeries.DefaultElement.ShowValue=true;chart。ShadingEffect=true;chart.Use3D=false;chart.Series.DefaultElement.ShowValue=true;endregion 调用说明及范例region 调用说明及范例 /在要显示统计图的页面代码直接调用,方法类似如下:/ShowData show=new ShowData();/show.Title=2008 年各月消费情况统计;/show。XTitle=月份;/s
15、how。YTitle=金额(万元)”;/show.PicHight=300;/show.PicWidth=600;/show.SeriesName=”具体详情;/show。PhaysicalImagePath=ChartImages”;/show。DataSource=this.GetDataSource();/show.CreateColumn(this.Chart1);#endregion 效果图展示:1、饼图 2、柱形图 3、曲线图 补充:帖子发了一天,没人回答我多维统计图的实现方式,只好自己去dotnetcharting 的官方网站下载了最新的 dotnetcharting 控件,在
16、dotnetcharting 控件的使用说明文档中详细地介绍了各种多维统计图的实现方式。现把说明文档贴出来供大家下载 dotnetcharting 使用说明文档 追加补充新内容:1、解决“每运行一次 DotNetCharting 页面,就会生成一个图片,这样图片不是越来越多吗?请问怎样自动删除 DotNetCharting 生成的图片呢”的问题,参照 asp。net 删除文件夹里的所有文件。2、解决“(1)生成的图片带超链接导向官网,如何处理呀?(2)我使用这个控件后,图形可以显示出来。但是发现一个小问题。就是在图形的左上方和图形的 下面都隐含了超链接,鼠标移动到这两个区域后,点击都会链接到http:/www.dotnetcharting。com/。很奇怪,这是和破解有管 吗?”等类似的问题,参照 DotnetCharting 控件各版本破解方法。