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. svn 清理失败 (cleanup 失败) 的解决方法

    svn 清理失败 (clean up 失败) 的解决方法 參考:http://www.tuicool.com/articles/biy6na 解决方法: step1: 到 sqlite官网 (http ...

  2. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

  3. 几种基于javaI/O的文件拷贝操作比较

    最近公司的项目用到文件拷贝,由于涉及到的大量大文件的拷贝工作,代码性能问题显得尤为重要,所以写了以下例子对几种文件拷贝操作做一比较: 0.文件拷贝测试方法 public static void fil ...

  4. idea maven jetty插件热部署

    maven tomcat插件好像无法进行热部署,jetty可以如下配置实现热部署,但是idea无法进行自动编译,所以需要如下快捷键 Ctrl+Shift+F9,编译 Ctrl+F9,生成项目 < ...

  5. Android应用自动更新功能的实现!!!

    自动更新功能的实现原理,就是我们事先和后台协商好一个接口,我们在应用的主Activity里,去访问这个接口,如果需要更新,后台会返回一些数据(比如,提示语:最新版本的url等).然后我们给出提示框,用 ...

  6. c# 面相对象1-概括

    面向对象和面向过程的区别 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.  面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为 ...

  7. 线程间通信的三种方式(NSThread,GCD,NSOperation)

    一.NSThread线程间通信 #import "ViewController.h" @interface ViewController ()<UIScrollViewDel ...

  8. HDU 1046 - Gridland

    果然是数学题 #include <iostream> #include <cstdio> #include <cmath> using namespace std; ...

  9. Haproxy+PXC实现负载均衡

    软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第 三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载.HA ...

  10. oracle中导出导入表以及数据

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用 ...