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. C#.NET学习笔记11,12---布尔表达式2组合,if语句

    C#.NET学习笔记11---布尔表达式2组合 2013/9/6 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com int ...

  2. ssh 与 Telnet 的区别

    简单来书,ssh 和 telnet 是实现相同的功能 , ssh中 数据是经过加密的,是安全的 , 而 Telnet是明文传输的ssh 是加密的,基于 SSL .telnet 是明码传输的,发送的数据 ...

  3. Error 'Cannot add or update a child row: a foreign key constraint fails故障解决

    一大早的,某从库突然报出故障:SQL线程中断! 查看从库状态: mysql> show slave status\G Slave_IO_State: Waiting for master to ...

  4. AliCTF 2016

    上上周参加了阿里的CTF,靠着最后绝杀队伍有幸拿到了国内第一名,也顺利进入了XCTF Final.把自己做的几个题简单写了下,发出来也算个总结吧. PWN-FB 经典的null byte overfl ...

  5. linq读书笔记3-操作符之select与selectmany

    linq对数据的查询方式的表达形式主要有两种: var demo =from p in pList where p.id=*** select p; var demo =pList.where(p=& ...

  6. Android使用webService

    在android中使用webservice,首先要导入Android webservice支持包 ksoap2-android-assembly-3.3.0-jar-with-dependencies ...

  7. Android studio教程:[6]创建多个Activity

    通常来说,一个android应用程序不止一个Activity(活动),更不止一个界面.于是需要创建多个Activity来满足应用程序的要求,这里我将告诉大家如何添加新的Activity,并实现Acti ...

  8. 通过一张简单的图,让你搞懂JS的==运算

    == 运算的规则: undefined == null,结果是true.且它俩与所有其他值比较的结果都是false. String == Boolean,需要两个操作数同时转为Number. Stri ...

  9. HDU 1088 - Write a simple HTML Browser

    直接看sample input = = 又一道模拟. #include <iostream> #include <string> #include <cstdio> ...

  10. c++STL之sort排序

    排序算法为竞赛中最常用的算法之一,我们可以利用C++自带的库函数进行排序.                                                                ...