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

using System;
using System.Drawing;
using DevExpress.XtraCharts; namespace DevExpressUtilHelpV3
{
public static class ChartToolV3
{
/// <summary>
/// 创建Series
/// </summary>
/// <param name="chat">ChartControl</param>
/// <param name="seriesName">Series名字『诸如:理论电量』</param>
/// <param name="seriesType">seriesType『枚举』</param>
/// <param name="dataSource">数据源</param>
/// <param name="xBindName">ChartControl的X轴绑定</param>
/// <param name="yBindName">ChartControl的Y轴绑定</param>
public static void CreateSeries(this ChartControl chat, string seriesName, ViewType seriesType, object dataSource, string xBindName, string yBindName)
{
CreateSeries(chat, seriesName, seriesType, dataSource, xBindName, yBindName, null);
}
/// <summary>
/// 创建Series
/// </summary>
/// <param name="chat">ChartControl</param>
/// <param name="seriesName">Series名字『诸如:理论电量』</param>
/// <param name="seriesType">seriesType『枚举』</param>
/// <param name="dataSource">数据源</param>
/// <param name="xBindName">ChartControl的X轴绑定</param>
/// <param name="yBindName">ChartControl的Y轴绑定</param>
/// <param name="createSeriesRule">Series自定义『委托』</param>
public static void CreateSeries(this ChartControl chat, string seriesName, ViewType seriesType, object dataSource, string xBindName, string yBindName, Action<Series> createSeriesRule)
{
if (chat == null)
throw new ArgumentNullException("chat");
if (string.IsNullOrEmpty(seriesName))
throw new ArgumentNullException("seriesType");
if (string.IsNullOrEmpty(xBindName))
throw new ArgumentNullException("xBindName");
if (string.IsNullOrEmpty(yBindName))
throw new ArgumentNullException("yBindName"); Series _series = new Series(seriesName, seriesType);
_series.ArgumentScaleType = ScaleType.Qualitative;
_series.ArgumentDataMember = xBindName;
_series.ValueDataMembers[] = yBindName; _series.DataSource = dataSource;
if (createSeriesRule != null)
createSeriesRule(_series);
chat.Series.Add(_series);
} }
}

代码使用示例如下:

public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable _dt = CreateTestDB();
chartControl1.CreateSeries("理论功率", ViewType.Spline, _dt, "time", "Power");
chartControl1.CreateSeries("实际功率", ViewType.Spline, _dt, "time", "ActulPower");
}
/// <summary>
/// 准备数据源
/// </summary>
/// <returns>DataTable</returns>
private DataTable CreateTestDB()
{
DataTable _testData = new DataTable();
_testData.Columns.Add(new DataColumn("time", typeof(string)));
_testData.Columns.Add(new DataColumn("Power", typeof(decimal)));
_testData.Columns.Add(new DataColumn("ActulPower", typeof(decimal)));
Random _rm = new Random();
for (int i = 0; i < 24; i++)
{
DataRow _drNew = _testData.NewRow();
_drNew["time"] = string.Format("{0}点", i);
_drNew["Power"] = 250;
_drNew["ActulPower"] = _rm.Next(220, 245);
_testData.Rows.Add(_drNew);
}
return _testData;
}

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. php查询某个字段指定值的所有条数

    一.查询某个字段指定值的所有条数 以name叫张三的人为例,查询表中叫张三的人的总数 $where['name']='张三'; $count=M('table')->where($where)- ...

  2. python在读取配置文件存入列表中,去掉回车符号

    self.receiver = map(lambda x: x.strip(), receiver_list) # 去掉list中的回车符号

  3. Delphi导出word

    //导出Wordprocedure TFrm_Computing.ExportWord;varwordApp, WordDoc, WrdSelection, wrdtable, wrdtable1, ...

  4. MySQL限制查询结果返回的数量limit

    1限制查询结果 [limit {[offset,] row_count | row_count offset}] row_count 起始行(第一行是0) offset 偏移量 输出几行记录

  5. JavaSE_XMind总结

    1 JDBC知识点总结

  6. Respone笔记

    1 设置定时刷新的头 //设置定时刷新的头 response.setHeader("refresh", "5;url=http://www.baidu.com" ...

  7. Linux下实现MySQL数据库自动备份

    1.给mysql创建用户备份的角色,并且授予角色SELECT, RELOAD, SHOW DATABASES, LOCK TABLES等权限. mysql> create user 'backu ...

  8. 【LESS系列】一些常用的Mixins

    在我们平时的开发中,对于一些使用频率很高的方法函数,我们一般都会将其归纳到一起,整理出一个核心库来. 其实这个思想,借助 LESS 也可以在 CSS 中得以实现. 下面是几个在 W3CPLUS 中偷过 ...

  9. 单元测试工具 - karma

    在离开上一家公司之前,team leader 在我离开前留给了我最后几个关键字:karma,断言库,JASMINE,QUNIT,MOCHA. 可一直拖拖沓沓的,没有去了解.直到今天,才终于抽出心情和时 ...

  10. C#使用System.xml.linq来生成XML文件

    直接看代码: /* * <?xml version="1.0" encoding="utf-8"?> * <Files Path=" ...