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[0] = 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 Util HelpV3的更多相关文章

  1. 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能

    在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...

  2. DevExpress - 使用 GaugeControl 标尺组件制作抽奖程序 附源码

    前不久,公司举办了15周年庆,其中添加了一个抽奖环节,要从在读学员中随机抽取幸运学员,当然,这个任务就分到了我这里. 最后的效果如下,启动有个欢迎页面,数据是来自Excel的,点击开始则上面的学号及姓 ...

  3. 图解DevExpress RichEditControl富文本的使用,附源码及官方API

    9点半了,刚写到1.2.   该回家了,明天继续写完. 大家还需要什么操作,留言说一下,没有的我明天继续加. 好久没有玩DevExpress了,今天下载了一个玩玩,发现竟然更新到14.2.5了..我去 ...

  4. DevExpress学习系列(控件篇):GridControl的基本应用

    一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=false 单元格不可编辑:gridcontrol -->gridview ...

  5. java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager

    问题: 使用Springboot打包为war部署于Tomcat7中报错 java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringMa ...

  6. 【转】java.util.Arrays.asList 的用法

    DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...

  7. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  8. 在DevExpress程序中使用TeeList控件以及节点查询的处理

    在很多情况下,我们需要通过树列表进行数据的展示,如一些有层次关系的数据,通过有层级的展示,能够使用户更加直观查看和管理相关的数据.在一般Winform开发的情况下,可以使用微软的TreeView控件, ...

  9. 在DevExpress程序中使用内置的图标构建美观的界面元素

    在我们一般的程序中,为一般的界面元素添加一定的图标展示,有助于提升界面的整体的美观.结合排版布局,以及固定场景的图标,往往给用户非常好的直观感受:统一.美观.易理解.因此在一般的程序界面中,都尽量在略 ...

随机推荐

  1. cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)

    第三讲 Touch 前面两篇我们学习的内容,足够我们做一款简单的小游戏.也能够说,我们已经入门了,能够蹒跚的走路了. 本篇将解说cocos2dx中非常重要的touch回调机制.你肯定记得第一章做定时器 ...

  2. 对于IE6及以下版本的处

    判断IE6 CSS 通过判断浏览器类型而加载不同的css样式 所有的IE都起作用: <!--[if IE]> <link rel="stylesheet" typ ...

  3. kaggle之旧金山犯罪

    kaggle地址 github地址 特点: 离散特征 离散特征二值化处理 数据概览 import pandas as pd import numpy as np # 载入数据 train = pd.r ...

  4. 利用JQuery实现全选和反选的几种方法

    前面介绍了利用JavaScript实现全选功能,其中也有要注意的几点,现在讲解下在JQuery怎么实现全选和反选,下面提供了两种方法实现. 如图:要实现的效果是点击全选框全部选中,再点击全部不选中 方 ...

  5. c++对文件操作的支持(一)

    #include <stdio.h> #include <iostream> #include <fstream> using namespace std; voi ...

  6. VS2003转VS2010 fatal error C1189: #error

    我自己的mfc的demo要转换编译环境出现以下编译错误: VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT ...

  7. 用Total Commander替换windos默认资源管理器

    用Total Commander替换windos默认资源管理器的方法 Total Commander(简称TC)是一个功能强大的资源管理器. TC本身没有自带的替换windows资源管理器的功能,就必 ...

  8. SQL Server 解决CPU 高占用的一般step

    第一步: 看这些CPU是不是SQL Server用的. 第二步: 确定SQL Server 有没有引发17883\17884错误 第三步: 找出使用CPU最高的语句进行优化.(sys.dm_exec_ ...

  9. Zigbee2007协议中文介绍

    Zigbee2007中文介绍ZigBee2007规范定义了ZigBee和ZigBee Pro两个特性集,全新的ZigBee 2007规范建立在ZigBee2006之上,不但提供了增强型的功能而且在某些 ...

  10. 【深夜急报,Win10下的Linux子系统之Bash】

    [在Windows下进行的编程人员,你真的需要学习下Linux] 手册:<Linux 命令手册(特洛伊版2.0)> 链接: https://pan.baidu.com/s/1skrVSvV ...