关键代码:

  1. using System;
  2. using System.Data;
  3. using System.Windows.Forms;
  4. using CSharpUtilHelpV2;
  5. using DevExpress.XtraCharts;
  6.  
  7. namespace DevExpressChart
  8. {
  9. public partial class winGsp : Form
  10. {
  11. public winGsp()
  12. {
  13. InitializeComponent();
  14. }
  15. static readonly string AccessFullPath = string.Format(@"{0}\gsp.mdb", AppDomain.CurrentDomain.BaseDirectory);
  16. static DataTable GspList = null;
  17. AccessUtilsV2 AccessHelper = null;
  18. private void winGsp_Load(object sender, EventArgs e)
  19. {
  20.  
  21. AccessHelper = new AccessUtilsV2(AccessFullPath);
  22. GspList = AccessHelper.ExecuteDataTable("select * from Gsp", null);
  23. BuilderDevChart();
  24. }
  25. private void BuilderDevChart()
  26. {
  27. if (GspList != null)
  28. {
  29. chartControl1.SeriesDataMember = "Year";
  30. chartControl1.SeriesTemplate.ArgumentDataMember = "Region";
  31. chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { "GSP" });
  32. chartControl1.SeriesNameTemplate.BeginText = "GSP in ";
  33. chartControl1.DataSource = GspList;
  34.  
  35. chartControl1.SetXLableAngle(-35);
  36. chartControl1.SetCrosshair(true);
  37.  
  38. chartControl1.Legend.Direction = LegendDirection.LeftToRight;
  39. chartControl1.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center;
  40. chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.BottomOutside;
  41.  
  42. chartControl1.AddTitle("GSP List");
  43. }
  44. }
  45. }
  46. }

------------------------------------------------------------------------------------------------------

  1. using DevExpress.Utils;
  2. using DevExpress.XtraCharts;
  3.  
  4. namespace DevExpressChart
  5. {
  6. public static class ChartUtils
  7. {
  8. /// <summary>
  9. /// 增加数据筛选
  10. /// </summary>
  11. /// <param name="SeriesBase">Series</param>
  12. /// <param name="columnName">列名称</param>
  13. /// <param name="value">列名称对应的筛选数值</param>
  14. /// <param name="dataFilterCondition">DataFilterCondition枚举</param>
  15. public static void AddDataFilter(this SeriesBase series, string columnName, object value, DataFilterCondition dataFilterCondition)
  16. {
  17. series.DataFilters.Add(new DataFilter(columnName, value.GetType().FullName, dataFilterCondition, value));
  18. }
  19.  
  20. /// <summary>
  21. /// 设置X轴Lable角度
  22. /// </summary>
  23. /// <param name="chart">ChartControl</param>
  24. /// <param name="angle">角度</param>
  25. public static void SetXLableAngle(this ChartControl chart, int angle)
  26. {
  27. XYDiagram _xyDiagram = (XYDiagram)chart.Diagram;
  28. if (_xyDiagram != null)
  29. _xyDiagram.AxisX.Label.Angle = angle;
  30. }
  31. /// <summary>
  32. /// 设置Y轴Lable角度
  33. /// </summary>
  34. /// <param name="chart">ChartControl</param>
  35. /// <param name="angle">角度</param>
  36. public static void SetYLableAngle(this ChartControl chart, int angle)
  37. {
  38. XYDiagram _xyDiagram = (XYDiagram)chart.Diagram;
  39. _xyDiagram.AxisY.Label.Angle = angle;
  40. }
  41. /// <summary>
  42. /// 设置ColorEach
  43. /// </summary>
  44. /// <param name="chart">ChartControl</param>
  45. /// <param name="colorEach">是否设置成ColorEach</param>
  46. public static void SetColorEach(this Series series, bool colorEach)
  47. {
  48. SeriesViewColorEachSupportBase colorEachView = (SeriesViewColorEachSupportBase)series.View;
  49. if (colorEachView != null)
  50. {
  51. colorEachView.ColorEach = colorEach;
  52. }
  53. }
  54. /// <summary>
  55. /// 设置是否显示十字标线
  56. /// </summary>
  57. /// <param name="chart">ChartControl</param>
  58. /// <param name="crosshair">是否显示十字标线</param>
  59. public static void SetCrosshair(this ChartControl chart, bool crosshair)
  60. {
  61. chart.CrosshairEnabled = crosshair ? DefaultBoolean.True : DefaultBoolean.False;
  62. chart.CrosshairOptions.ShowArgumentLabels = crosshair;
  63. chart.CrosshairOptions.ShowArgumentLine = crosshair;
  64. chart.CrosshairOptions.ShowValueLabels = crosshair;
  65. chart.CrosshairOptions.ShowValueLine = crosshair;
  66. }
  67. /// <summary>
  68. /// 新增ChartControl的Title文字
  69. /// </summary>
  70. /// <param name="chart">ChartControl</param>
  71. /// <param name="title">Title文字</param>
  72. public static void AddTitle(this ChartControl chart, string title)
  73. {
  74. ChartTitle _title = new ChartTitle();
  75. _title.Text = title;
  76. chart.Titles.Add(_title);
  77. }
  78. /// <summary>
  79. /// 饼状Series设置成百分比显示
  80. /// </summary>
  81. /// <param name="series">Series</param>
  82. public static void SetPiePercentage(this Series series)
  83. {
  84. if (series.View is PieSeriesView)
  85. {
  86. ((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = true;
  87. ((PiePointOptions)series.PointOptions).ValueNumericOptions.Format = NumericFormat.Percent;
  88. ((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = 0;
  89. }
  90. }
  91. }
  92. }

运行效果:

希望有所帮助!谢谢!

[DevExpress]ChartControl之SeriesTemplate示例的更多相关文章

  1. [DevExpress]ChartControl之柱状图示例

    关键代码: using System; using System.Data; using System.Windows.Forms; using CSharpUtilHelpV2; using Dev ...

  2. [DevExpress]ChartControl之基准线示例

    关键代码: /// <summary> /// 创建基准线ConstantLine /// </summary> /// <param name="chart& ...

  3. [DevExpress]ChartControl之滚动条示例

    关键代码: /// <summary> /// 设置ChartControl滚动条[默认X,Y轴都出现] /// </summary> /// <param name=& ...

  4. DevExpress ChartControl大数据加载时有哪些性能优化方法

    DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等) ...

  5. [DevExpress]ChartControl之时间轴示例

    关键代码: using System; using System.Data; using System.Windows.Forms; using DevExpress.XtraCharts; name ...

  6. [DevExpress]ChartControl之创建X,Y轴Title示例

    关键代码: /// <summary> /// 设置X轴Title /// </summary> /// <param name="chart"> ...

  7. [DevExpress]ChartControl之饼状图百分比示例

    关键代码: using System; using System.Data; using System.Windows.Forms; using DevExpress.XtraCharts; name ...

  8. DevExpress ChartControl ViewType.Line

    源码地址:https://files.cnblogs.com/files/lanyubaicl/ChartControl.Line.7z public partial class Form1 : Fo ...

  9. DevExpress .NET界面开发示例大全

    说到做.net界面开发,很多人应该都会想到DevExpress. 它的 .net界面开发系列一共有7个版本:WinForms.ASP.NET.MVC.WPF.Silverlight.Windows 8 ...

随机推荐

  1. LINUX命令之ETHTOOL用法详解

    转载:http://crazyming.blog.51cto.com/1048571/738022 debian 下安装: sudo apt-get install ethtool 或者下载源码编译: ...

  2. 解决ajax回调函数无返回值得问题

    这里以编辑验证角色名为例: 首先,定义一个flag全局变量. 然后,在回调函数resp()中根据判断将flag的值设为true或false. 最后,在调用函数ckrname()中,return fla ...

  3. 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)

    算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ #include<cstdio> #include<cst ...

  4. 【Stirling Number I】

    hdu 4372 Count the Buildings 推荐这位小哥的,我觉得人家说的灰常的好. 注意数据范围,n,f,b均在(0,2000]范围内,而第一斯特林数的数组范围却是s[2000+5][ ...

  5. less-3-混合

    混合特性类似于编程语言中的继承.设计好一个样式类,然后再其他样式中直接混合这个样式类,实现样式的继承重用.就像函数一样调用,并且可以传递参数,功能非常强大,实用. less代码: 生成的css代码: ...

  6. Jersey(1.19.1) - Client API, Proxy Configuration

    为 Jersey Client 设置代理,可以使用带有 ClientHandler 参数的构造方法创建 Client 实例. public static void main(String[] args ...

  7. C#算法基础之递归排序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. response小结(三)—输出随机图片(验证码功能实现)

    本文是一个很简单的向网页上输出验证码的实现喲!通过注释解释清楚了每一步! Myeclipse下的Package Explorer显示文件结构如下: ResponseDemo.java实现了输出随机图片 ...

  9. jQuery 自定义事件的学习笔记

    jquery中提供了两种方法可以绑定自定义事件: bind()和one()而绑定的自定义事件的触发,必须得用jquery中的trigger()方法才能触发. 我们先来看on事件  代码如下 复制代码 ...

  10. 第四十四篇、iOS开发中git添加.gitignore文件

    .gitignore文件可以直接使用https://github.com/github/gitignore 1.在项目中设置忽略文件(1)将从github上荡下来的对应的.gitignore文件(Sw ...