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

关键代码:

using System;

using System.Data;

using System.Windows.Forms;

using DevExpress.XtraCharts;



namespace DevExpressChart

{

    public partial class winPieSeriesView : Form

    {

        public winPieSeriesView()

        {

            InitializeComponent();

        }

        private DataTable CreateChartData()

        {

            DataTable table = new DataTable("Table1");

            table.Columns.Add("Name", typeof(String));

            table.Columns.Add("Value", typeof(Int32)); 

            table.Rows.Add(new object[] { "A", 10 });

            table.Rows.Add(new object[] { "B", 20 });

            table.Rows.Add(new object[] { "C", 40 });

            table.Rows.Add(new object[] { "D", 20 });

            table.Rows.Add(new object[] { "E", 30 });

            return table;

        }

        private void winPieSeriesView_Load(object sender, EventArgs e)

        {

            BuilderDevChart();

        }

        private void BuilderDevChart()

        {

            Series _pieSeries = new Series("测试", ViewType.Pie);

            _pieSeries.ValueDataMembers[0] = "Value";

            _pieSeries.ArgumentDataMember = "Name";

            _pieSeries.DataSource = CreateChartData();

            chartControl1.Series.Add(_pieSeries);

            //----------------------------------------

            _pieSeries.LegendPointOptions.PointView = PointView.ArgumentAndValues;

            _pieSeries.SetPiePercentage();

        }

    }

}

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

        /// <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;

            }

        }

运行效果:

image

希望有所帮助!谢谢!微笑

你可能感兴趣的:(DevExpress)