C#.net使用DotNetCharting控件生成报表统计图在做项目时要对数据进行统计分析,所以必须生成一些报表统计图(如柱形图、饼图、曲线图等),网上强烈推荐了使用DotNetCharting控件来实现,于是自己对DotNetCharting控件进行了简单的学习,下面先简单介绍一下DotNetCharting控件及其使用。DotNetCharting是一个非常棒的.NET图表控件,对中文支持非常好,而且操作方便,开发快速,既有forwebform也有forwinform的,而且.net1.1和2.0都有支持。它的官方地址是本站也提供了DotNetCharting破解版本下载:强烈推荐一下DotNetCharting的demo地址:这个是所有的DEMO演示这个是OnlineDocumentation里面会有详细的说明和用法。DotNetCharting的简单使用方法:1.把\bin\dotnetCHARTING.dll添加到工具箱,并且添加引用;2.把控件拖到你的网页上,然后添加引用usingdotnetCHARTING;就可以用了;3.接下来是自己写的对DotNetCharting操作的封装类,以便于在程序里调用。ShowData.csusingSystem;usingSystem.Data;usingSystem.Text;usingdotnetCHARTING;namespaceFLX.ComplexQuery{/**////summary///彭建军///根据数据动态生成图形(柱形图、饼图、曲线图)///2008-06-19////summarypublicclassShowData{属性#region属性privatestring_phaysicalimagepath;//图片存放路径privatestring_title;//图片标题privatestring_xtitle;//图片x座标名称privatestring_ytitle;//图片y座标名称privatestring_seriesname;//图例名称privateint_picwidth;//图片宽度privateint_pichight;//图片高度privateDataTable_dt;//图片数据源/**////summary///图片存放路径////summarypublicstringPhaysicalImagePath{set{_phaysicalimagepath=value;}get{return_phaysicalimagepath;}}/**////summary///图片标题////summarypublicstringTitle{set{_title=value;}get{return_title;}}/**////summary///图片标题////summarypublicstringXTitle{set{_xtitle=value;}get{return_xtitle;}}/**////summary///图片标题////summarypublicstringYTitle{set{_ytitle=value;}get{return_ytitle;}}/**////summary///图例名称////summarypublicstringSeriesName{set{_seriesname=value;}get{return_seriesname;}}/**////summary///图片宽度////summarypublicintPicWidth{set{_picwidth=value;}get{return_picwidth;}}/**////summary///图片高度////summarypublicintPicHight{set{_pichight=value;}get{return_pichight;}}/**////summary///图片数据源////summarypublicDataTableDataSource{set{_dt=value;}get{return_dt;}}#endregion构造函数#region构造函数publicShowData(){////TODO:在此处添加构造函数逻辑//}publicShowData(stringPhaysicalImagePath,stringTitle,stringXTitle,stringYTitle,stringSeriesName){_phaysicalimagepath=PhaysicalImagePath;_title=Title;_xtitle=XTitle;_ytitle=YTitle;_seriesname=SeriesName;}#endregion输出柱形图#region输出柱形图/**////summary///柱形图////summary///returns/returnspublicvoidCreateColumn(dotnetCHARTING.Chartchart){chart.Title=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.Data=this._dt;chart.SeriesCollection.Add();chart.DefaultSeries.DefaultElement.ShowValue=true;chart.ShadingEffect=true;chart.Use3D=false;chart.Series.DefaultElement.ShowValue=true;}#endregion输出饼图#region输出饼图/**////summary///饼图////summary///returns/returnspublicvoidCreatePie(dotnetCHARTING.Chartchart){chart.Title=this._title;chart.TempDirectory=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.DefaultElement.ShowValue=true;chart.PieLabelMode=PieLabelMode.Outside;chart.SeriesCollection.Add(getArrayData());chart.Series.DefaultElement.ShowValue=true;}privateSeriesCollectiongetArrayData(){SeriesCollectionSC=newSeriesCollection();DataTabledt=this._dt;for(inti=0;idt.Rows.Count;i++){Seriess=newSeries();s.Name=dt.Rows[i][0].ToString();Elemente=newElement();//每元素的名称e.Name=dt.Rows[i][0].ToString();//每元素的大小数值e.YValue=Convert.ToInt32(dt.Rows[i][1].ToString());s.Elements.Add(e);SC.Add(s);}returnSC;}#endregion输出曲线图#region输出曲线图/**////summary///曲线图////summary///returns/returnspublicvoidCreateLine(dotnetCHARTING.Chartchart){chart.Title=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.Line;chart.Series.Name=this._seriesname;chart.Series.Data=this._dt;chart.SeriesCollection.Add();chart.DefaultSeries.DefaultElement.ShowValue=true;chart.ShadingEffect=true;chart.Use3D=false;chart.Series.DefaultElement.ShowValue=true;}#endregion调用说明及范例#region调用说明及范例//在要显示统计图的页面代码直接调用,方法类似如下:////ShowDatashow=newShowData();//show.Title=2008年各月消费情况统计;//show.XTitle=月份;//show.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控件,在dotnetcharting控件的使用说明文档中详细地介绍了各种多维统计图的实现方式。现把说明文档贴出来供大家下载dotnetcharting使用说明文档追加补充新内容:1、解决“每运行一次DotNetCharting页面,就会生成一个图片,这样图片不是越来越多吗?请问怎样自动删除DotNe