DevExpress中的ChartControl顾名思义就是数据基于图表展示,其关键在于Series上的处理。

  1. using System;
  2. using System.Drawing;
  3. using DevExpress.XtraCharts;
  4.  
  5. namespace DevExpressUtilHelpV3
  6. {
  7. public static class ChartToolV3
  8. {
  9. /// <summary>
  10. /// 创建Series
  11. /// </summary>
  12. /// <param name="chat">ChartControl</param>
  13. /// <param name="seriesName">Series名字『诸如:理论电量』</param>
  14. /// <param name="seriesType">seriesType『枚举』</param>
  15. /// <param name="dataSource">数据源</param>
  16. /// <param name="xBindName">ChartControl的X轴绑定</param>
  17. /// <param name="yBindName">ChartControl的Y轴绑定</param>
  18. public static void CreateSeries(this ChartControl chat, string seriesName, ViewType seriesType, object dataSource, string xBindName, string yBindName)
  19. {
  20. CreateSeries(chat, seriesName, seriesType, dataSource, xBindName, yBindName, null);
  21. }
  22. /// <summary>
  23. /// 创建Series
  24. /// </summary>
  25. /// <param name="chat">ChartControl</param>
  26. /// <param name="seriesName">Series名字『诸如:理论电量』</param>
  27. /// <param name="seriesType">seriesType『枚举』</param>
  28. /// <param name="dataSource">数据源</param>
  29. /// <param name="xBindName">ChartControl的X轴绑定</param>
  30. /// <param name="yBindName">ChartControl的Y轴绑定</param>
  31. /// <param name="createSeriesRule">Series自定义『委托』</param>
  32. public static void CreateSeries(this ChartControl chat, string seriesName, ViewType seriesType, object dataSource, string xBindName, string yBindName, Action<Series> createSeriesRule)
  33. {
  34. if (chat == null)
  35. throw new ArgumentNullException("chat");
  36. if (string.IsNullOrEmpty(seriesName))
  37. throw new ArgumentNullException("seriesType");
  38. if (string.IsNullOrEmpty(xBindName))
  39. throw new ArgumentNullException("xBindName");
  40. if (string.IsNullOrEmpty(yBindName))
  41. throw new ArgumentNullException("yBindName");
  42.  
  43. Series _series = new Series(seriesName, seriesType);
  44. _series.ArgumentScaleType = ScaleType.Qualitative;
  45. _series.ArgumentDataMember = xBindName;
  46. _series.ValueDataMembers[] = yBindName;
  47.  
  48. _series.DataSource = dataSource;
  49. if (createSeriesRule != null)
  50. createSeriesRule(_series);
  51. chat.Series.Add(_series);
  52. }
  53.  
  54. }
  55. }

代码使用示例如下:

  1. public Form1()
  2. {
  3. InitializeComponent();
  4. }
  5. private void Form1_Load(object sender, EventArgs e)
  6. {
  7. DataTable _dt = CreateTestDB();
  8. chartControl1.CreateSeries("理论功率", ViewType.Spline, _dt, "time", "Power");
  9. chartControl1.CreateSeries("实际功率", ViewType.Spline, _dt, "time", "ActulPower");
  10. }
  11. /// <summary>
  12. /// 准备数据源
  13. /// </summary>
  14. /// <returns>DataTable</returns>
  15. private DataTable CreateTestDB()
  16. {
  17. DataTable _testData = new DataTable();
  18. _testData.Columns.Add(new DataColumn("time", typeof(string)));
  19. _testData.Columns.Add(new DataColumn("Power", typeof(decimal)));
  20. _testData.Columns.Add(new DataColumn("ActulPower", typeof(decimal)));
  21. Random _rm = new Random();
  22. for (int i = 0; i < 24; i++)
  23. {
  24. DataRow _drNew = _testData.NewRow();
  25. _drNew["time"] = string.Format("{0}点", i);
  26. _drNew["Power"] = 250;
  27. _drNew["ActulPower"] = _rm.Next(220, 245);
  28. _testData.Rows.Add(_drNew);
  29. }
  30. return _testData;
  31. }

DevExpress之ChartControl用法的更多相关文章

  1. WPF DevExpress ChartControl用法

    WPF常用的第三方控件集,DevExpress中ChartControl的使用 下面介绍如何生成Chart界面: <dxc:ChartControl AnimationMode="On ...

  2. WPF DEV控件-ChartControl用法

    WPF常用的第三方控件集,DevExpress 下面介绍如何生成Chart界面: <dxc:ChartControl AnimationMode="OnDataChanged" ...

  3. DevExpress中chartControl中实现统计图功能

    public partial class Form1 : DevExpress.XtraEditors.XtraForm { public Form1() { InitializeComponent( ...

  4. DevExpress中ChartControl柱状图(Bar)用法

    我的数据 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 chartControl1.Series.Clear(); ...

  5. DevExpress 控件用法笔记(VB)

    1.ChartControl 显示条形图 ChartControl1.Titles.Clear() ChartControl1.Series.Clear() Dim db As DataTable S ...

  6. DEV控件之ChartControl用法

    一.总体概述 这个控件包含3层,最外面的chartControl层.中间的XYDiagram层.最里面的Series层.功能非常强大,但同时使用起来也相对复杂,需要各个层之间相互协调设置才能达到自己想 ...

  7. 【原】为DevExpress的ChartControl添加Y轴控制 和 GridControl中指定列添加超级链接

    一.控制ChartControl的Y轴范围 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件,具体代码如下: ...

  8. 张奎师弟参与devexpress chartControl绘图--解决了devexpress的chartControl控件不能添加系列的问题

    using DevExpress.XtraCharts; using System; using System.Collections.Generic; using System.ComponentM ...

  9. DevExpress之ChartControl实现时间轴实例 z

    using System; using System.Data; using System.Windows.Forms; using DevExpress.XtraCharts; namespace ...

随机推荐

  1. Restful API学习笔记

    之前关于这个概念在网上看了一些,看完似懂非懂,模模糊糊,发现专业术语或者说书面表达的形式对于理解这种十分抽象的概念还是低效了点. 书面文档方面看了以下几个: 理解本真的REST架构风格 1. 要深入理 ...

  2. SpringBoot + Spring MVC国际化使用示例

    项目中需要显示中英文两种语言,所以需要对显示的内容进行国际化,如下是一个示例程序. 程序文件结构,如下图,后面详细列出各文件的代码. 1. 编写maven的pom.xml文件,如下: <proj ...

  3. RabbitMQ 很成熟 不是阿里的

    简介 官网 http://www.rabbitmq.com RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现 RabbitMQ实现了AMQ ...

  4. ztree树的模糊搜索功能

    在做机场项目的时候,业务为一个input框,点击的时候出现一个下拉树,这个下拉树是所有的设备,由于设备太多,加上分了区域,为了更好的用户体验,设计一个模糊搜索的功能,方便用户进行选择 具体实现过程如下 ...

  5. jreble安装 in idea

    http://www.cnblogs.com/littlehb/archive/2013/04/19/3031045.html

  6. SQL Cookbook—查询、排序

    涉及到的问题1.在select语句中使用条件逻辑2.限制返回的行数3.从表中随机返回n条记录4.将空值转换为实际值5.对字母和数字混合的数据排序6.处理排序空值7.根据数据项的键排序–8.从一个表中查 ...

  7. EPPlus导入导出不占用进程

    导入: using (ExcelPackage package = new ExcelPackage(new FileStream(openFile.FileName, FileMode.Open, ...

  8. MdiContainer

    /// <summary> /// 显示form /// </summary> /// <param name="form">要显示的form& ...

  9. awk如何替换一个字符串的第n个字符?

    方法一: echo "abcdefg" | awk 'BEGIN{FS=OFS=""}$4="h"'    // ""可 ...

  10. 三:Maven创建问题

    1.httpServlet was not found 设置server为tomcat,jre设置为安装的jdk的jre java build path 添加server runtime为tomcat ...