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. 所闻所获6:meditashayne项目总结

    项目源码下载地址: https://github.com/ShayneYeorg/Meditashayne 1.首先一开始设计这个App的时候,我就希望它能比系统自带的备忘录更方便:比如备忘录需要手动 ...

  2. Vanya and Scales(思维)

    Vanya and Scales time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  3. MTK 2G芯片使用联通卡在深圳无法拨打112原因

    2.75G GSM模块在深圳客户这边联调到最后,客户这边遇到各种概率性问题,基本都是对方使用的配件不够好造成的,如天线.SIM卡座等配件. 一旦这些配件不好,就会出现概率性的错误,非常难以复现,所以在 ...

  4. Lazy方式单列模式,一种线程安全模式的新选择

      public class WeProxyClient {         private static readonly Lazy<WeProxyClient> list = new ...

  5. 【极客学院出品】Cocos2d-X系列课程之九-BOX2D物理引擎

    Cocos2d-x 是时下最热门的手游引擎,在国内和国外手机游戏开发使用的份额各自是70%和25%,在App Store的top10中,有7个是用它开发的. 本节课程为Cocos2d-x系列课程之九, ...

  6. Android清理内存

    Android内存清理,利用ActivityManager获取当前正在运行的进程,清理这些进程释放内存. 可以根据importance的不同来判断前台或后台RunningAppProcessInfo ...

  7. NET基础课--XML基础

    id level是属性,title为子节点 接下来操作子节点 比较xml的处理方式: 1和3适合数据量小的时候.

  8. Html5 Css实现方形图片 圆形显示

    <!doctype html><html><head><meta charset="utf-8"><title>方形图片 ...

  9. Javascript进阶篇——(数组)笔记整理

    什么是数组数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. <script type="text/javascript"& ...

  10. Follow-up letter to information seeking meeting, e-mail version

      Subject: (logical to recipient!) Thank you for meeting Tuesday, Nov. 23 November 26, 20XY Mr. Jame ...