国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

DevExpress之ChartControl的SeriesTemplate實例

2019-10-29 21:42:41
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了DevExpress之ChartControl的SeriesTemplate用法實例,實現了餅狀Series百分比顯示的效果,具有一定的參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了DevExpress之ChartControl的SeriesTemplate用法,分享給大家供大家參考。具體方法如下:

關鍵代碼如下:

 

復制代碼代碼如下:
using System;
using System.Data;
using System.Windows.Forms;
using CSharpUtilHelpV2;
using DevExpress.XtraCharts;

 

namespace DevExpressChart
{
    public partial class winGsp : Form
    {
        public winGsp()
        {
            InitializeComponent();
        }
        static readonly string AccessFullPath = string.Format(@"{0}/gsp.mdb", AppDomain.CurrentDomain.BaseDirectory);
        static DataTable GspList = null;
        AccessUtilsV2 AccessHelper = null;
        private void winGsp_Load(object sender, EventArgs e)
        {

            AccessHelper = new AccessUtilsV2(AccessFullPath);
            GspList = AccessHelper.ExecuteDataTable("select * from Gsp", null);
            BuilderDevChart();
        }
        private void BuilderDevChart()
        {
            if (GspList != null)
            {
                chartControl1.SeriesDataMember = "Year";
                chartControl1.SeriesTemplate.ArgumentDataMember = "Region";
                chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { "GSP" });
                chartControl1.SeriesNameTemplate.BeginText = "GSP in ";
                chartControl1.DataSource = GspList;

                chartControl1.SetXLableAngle(-35);
                chartControl1.SetCrosshair(true);

                chartControl1.Legend.Direction = LegendDirection.LeftToRight;
                chartControl1.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center;
                chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.BottomOutside;

                chartControl1.AddTitle("GSP List");
            }
        }
    }
}

 

 

復制代碼代碼如下:
using DevExpress.Utils;
using DevExpress.XtraCharts;

 

namespace DevExpressChart
{
    public static class ChartUtils
    {
        /// <summary>
        /// 增加數據篩選
        /// </summary>
        /// <param name="SeriesBase">Series</param>
        /// <param name="columnName">列名稱</param>
        /// <param name="value">列名稱對應的篩選數值</param>
        /// <param name="dataFilterCondition">DataFilterCondition枚舉</param>
        public static void AddDataFilter(this SeriesBase series, string columnName, object value, DataFilterCondition dataFilterCondition)
        {
            series.DataFilters.Add(new DataFilter(columnName, value.GetType().FullName, dataFilterCondition, value));
        }

        /// <summary>
        /// 設置X軸Lable角度
        /// </summary>
        /// <param name="chart">ChartControl</param>
        /// <param name="angle">角度</param>
        public static void SetXLableAngle(this ChartControl chart, int angle)
        {
            XYDiagram _xyDiagram = (XYDiagram)chart.Diagram;
            if (_xyDiagram != null)
                _xyDiagram.AxisX.Label.Angle = angle;
        }
        /// <summary>
        ///  設置Y軸Lable角度
        /// </summary>
        /// <param name="chart">ChartControl</param>
        /// <param name="angle">角度</param>
        public static void SetYLableAngle(this ChartControl chart, int angle)
        {
            XYDiagram _xyDiagram = (XYDiagram)chart.Diagram;
            _xyDiagram.AxisY.Label.Angle = angle;
        }
        /// <summary>
        /// 設置ColorEach
        /// </summary>
        /// <param name="chart">ChartControl</param>
        /// <param name="colorEach">是否設置成ColorEach</param>
        public static void SetColorEach(this Series series, bool colorEach)
        {
            SeriesViewColorEachSupportBase colorEachView = (SeriesViewColorEachSupportBase)series.View;
            if (colorEachView != null)
            {
                colorEachView.ColorEach = colorEach;
            }
        }
        /// <summary>
        /// 設置是否顯示十字標線
        /// </summary>
        /// <param name="chart">ChartControl</param>
        /// <param name="crosshair">是否顯示十字標線</param>
        public static void SetCrosshair(this ChartControl chart, bool crosshair)
        {
            chart.CrosshairEnabled = crosshair ? DefaultBoolean.True : DefaultBoolean.False;
            chart.CrosshairOptions.ShowArgumentLabels = crosshair;
            chart.CrosshairOptions.ShowArgumentLine = crosshair;
            chart.CrosshairOptions.ShowValueLabels = crosshair;
            chart.CrosshairOptions.ShowValueLine = crosshair;
        }
        /// <summary>
        /// 新增ChartControl的Title文字
        /// </summary>
        /// <param name="chart">ChartControl</param>
        /// <param name="title">Title文字</param>
        public static void AddTitle(this ChartControl chart, string title)
        {
            ChartTitle _title = new ChartTitle();
            _title.Text = title;
            chart.Titles.Add(_title);
        }
        /// <summary>
        /// 餅狀Series設置成百分比顯示
        /// </summary>
        /// <param name="series">Series</param>
        public static void SetPiePercentage(this Series series)
        {
            if (series.View is PieSeriesView)
            {
                ((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = true;
                ((PiePointOptions)series.PointOptions).ValueNumericOptions.Format = NumericFormat.Percent;
                ((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = 0;
            }
        }
    }
}


運行效果:

 

DevExpress之ChartControl的SeriesTemplate實例

希望本文所述對大家的C#程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜良县| 阿城市| 方正县| 河曲县| 当涂县| 云南省| 宁乡县| 延长县| 额敏县| 永安市| 双桥区| 昆明市| 台中市| 浦东新区| 佛坪县| 望谟县| 河间市| 黄山市| 巴楚县| 九龙县| 普宁市| 丹东市| 崇阳县| 玉龙| 北宁市| 湖北省| 双牌县| 阳泉市| 东至县| 云霄县| 林甸县| 崇仁县| 定陶县| 资中县| 凤山县| 普兰店市| 宜昌市| 贵州省| 克什克腾旗| 通许县| 内乡县|