已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
dotnetCHARTING实现数据统计以图表形式显示在页面上,在一些网站的开发过程中。有一些数据需要在页面上以统计形式显示出来,有些人整愁着怎么实现,在这里,只需要调用dotnetCHARTING就可以轻松的实现。 操作步骤:写好统计图相关属性,以类的形式保存。下面是统计图的相关属性,可以直接调用。 #region 属性 private string _phaysicalimagepath;/图片存放路径 private string _title; /图片标题 private string _xtitle;/图片x座标名称 private string _ytitle;/图片y座标名称 private string _seriesname;/图例名称 private int _picwidth;/图片宽度 private int _pichight;/图片高度 private DataTable _dt;/图片数据源 /*/ / 图片存放路径 / public string PhaysicalImagePath set_phaysicalimagepath=value; getreturn _phaysicalimagepath; /*/ / 图片标题 / public string Title set_title=value; getreturn _title; /*/ / 图片标题 / public string XTitle set_xtitle=value; getreturn _xtitle; /*/ / 图片标题 / public string YTitle set_ytitle=value; getreturn _ytitle; /*/ / 图例名称 / public string SeriesName set_seriesname=value; getreturn _seriesname; /*/ / 图片宽度 / public int PicWidth set_picwidth=value; getreturn _picwidth; /*/ / 图片高度 / public int PicHight set_pichight=value; getreturn _pichight; /*/ / 图片数据源 / public DataTable DataSource set_dt=value; getreturn _dt; /构造函数#region 构造函数 public ShowData() / / TODO: 在此处添加构造函数逻辑 / public ShowData(string PhaysicalImagePath,string Title,string XTitle,string YTitle,string SeriesName) _phaysicalimagepath=PhaysicalImagePath; _title=Title; _xtitle=XTitle; _ytitle=YTitle; _seriesname=SeriesName; / 输出柱形图#region 输出柱形图 /*/ / 柱形图 / / public void CreateColumn(dotnetCHARTING.Chart chart) 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; /输出饼图#region 输出饼图 /*/ / 饼图 / / public void CreatePie(dotnetCHARTING.Chart chart) 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; private SeriesCollection getArrayData() SeriesCollection SC = new SeriesCollection(); DataTable dt = this._dt; for(int i=0; i dt.Rows.Count; i+) Series s = 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; /输出曲线图#region 输出曲线图 /*/ / 曲线图 / / public void CreateLine(dotnetCHARTING.Chart chart) 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写好了类,那么就需要在前台的页面上调用这个类的属性,并赋值。下面举例:protected void Page_Load(object sender, EventArgs e) /在要显示统计图的页面代码直接调用,方法类似如下: if (!Page.IsPostBack) ShowData show = new ShowData(); string year = DateTime.Now.Year.ToString(); show.Title = year + 年会员状态统计; show.XTitle = 会员状态; show.YTitle = 总人数; show.PicHight = 300; show.PicWidth = 600; show.SeriesName = X轴:0为正常。1为接触中。2为暂停服务。3为撤档 + n + n + Y轴:Y轴数据为X轴每个坐标的统计数据; show.PhaysicalImagePath = ./ChartImages; show.DataSource = GetDataSource(); show.CreateColumn(this.Chart1); private DataTable GetDataSource() DataTable tb = DB.dataTable(select User_Status,Count(*) as C from UserTable where User_Status=0 or User_Status=1 or User_Status=2 or User_Status=3 group by User_Status); return tb; 这是网页的后台代码。前台代码: 现在描述一下后台代码中的: if (!Page.IsPostBack) ShowData show = new ShowData(); string year = DateTime.Now.Year.ToString(); show.Title = year + 年会员状态统计; show.XTitle = 会员状态; show.YTitle = 总人数; show.PicHight = 300; show.PicWidth = 600; show.SeriesName = X轴:0为正常。1为接触中。2为暂停服务。3为撤档 + n + n + Y轴:Y轴数据为X轴每个坐标的统计数据; show.PhaysicalImagePath = ./ChartImages; show.DataSource = GetDataSource(); show.CreateColumn(this.Chart1); show.XTitle = 会员状态; 为横坐标的描述, show.YTitle = 总人数; 为Y轴的描述。这些都不重要,一看就可以知道。重要的是show.PhaysicalImagePath = ./ChartImages; 如果这句没处理好,你传进来的参数是对的,也不会显示,首先要手动创建ChartImages这个文件夹。要保证ChartImages这个文件夹存在。因为每点击一次页面实现统计,就会生成一张图片存放在ChartImages里面,如果程序不做相应处理,时间久了,出现占用空间过多的问题。 在这里,实现的办法很多,我是用读取目录下的文件进行删除。下面来讲解: private DataTable GetDataSource() DataTable tb = DB.dataTable(sel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2030中国刨冰机行业市场发展现状及竞争格局与投资前景研究报告
- 2026-2030中国低醇酒市场销售模式及发展前景趋势研究研究报告
- 电子商务关键期权协议
- 保险非独家战略合作合同
- 5G正式验收协议
- 餐饮修订技术服务协议
- 畜牧业重大软件许可合同
- 辽宁地生中考试题及答案
- 2026年高职本科(审计实务)财务核查技能阶段测试题及答案
- 湖北省武汉六中学上智中学2027届数学七年级第一学期期末考试试题含解析
- 重庆万州区2026年社区工作者招聘考试试卷-含答案解析
- 2025年湖南生物机电职院高职单招职业适应性测试考试题库及完整答案详解(名师系列)
- 2026电信转正考试题库及答案
- 餐饮业餐厅经理经营效益及团队管理KPI考核表
- 2026广西质量工程职业技术学院第一批公开招聘工作人员65人考试备考试题及答案详解
- 2026年作风建设年研讨发言材料-强化责任担当、认真履职尽责,抓好作风建设
- 丹东施工方案
- 康复专业面试题库和答案
- 2026浙江省空港融资租赁有限公司招聘1人笔试备考题库及答案详解
- 2026中盐东兴盐化股份有限公司招聘17人笔试历年参考题库附带答案详解
- 物业应急接管合同
评论
0/150
提交评论