1. 程式人生 > >C#下利用devexpress中chart外掛實現柱狀圖

C#下利用devexpress中chart外掛實現柱狀圖

 private void LoadChartData(string title, Diagram diagram, string seriesType, DataTable dtable)
        {
            try
            {
                if (dtable == null || dtable.Rows.Count == 0)
                {
                    return;
                }

                //透明
                this.alarmChart.Legend = null;
                if (!(diagram is SimpleDiagram2D))
                {
                    Legend legend = new Legend();
                    legend.ReverseItems = true;
                    this.alarmChart.Legend = legend;
                }

                this.alarmChart.Diagram = diagram;
                Title t = new Title();
                t.Content = title;
                t.FontSize = 15;
                Brush brush;
                BrushConverter brushConverter = new BrushConverter();
                brush = (Brush)brushConverter.ConvertFromString("#FF0000");//"#17acae");
                t.Foreground = brush;
                t.HorizontalAlignment = HorizontalAlignment.Center;
                alarmChart.Titles.Clear();
                alarmChart.Titles.Add(t);
                for (int i = 0; i < dtable.Rows.Count; i++)
                {
                    Series series  = new BarSideBySideSeries2D();//= CreateSeries(seriesType);
                    series.DisplayName = dtable.Rows[i][0].ToString();
                    series.AnimationAutoStartMode = AnimationAutoStartMode.SetStartState;
                    //series.FontStyle = new FontStyle();

                    for (int j = 1; j < dtable.Columns.Count; j++)
                    {
                        SeriesPoint seriesPoint = new SeriesPoint();
                        seriesPoint.Argument = dtable.Rows[i][0].ToString();// dtable.Columns[0].ColumnName.ToString();
                        seriesPoint.Value = double.Parse(dtable.Rows[i][j].ToString());
                       
                        series.Points.Add(seriesPoint);
                        
                    }
                    alarmChart.Diagram.Series.Add(series);
                }
                Title t1 = new Title();
                t1.Content = "資料項".PadRight(50);
                t1.FontSize = 14;
                t1.Foreground = brush;
                t1.HorizontalAlignment = HorizontalAlignment.Right;
                t1.Dock = Dock.Bottom;
                alarmChart.Titles.Add(t1);
            }
            catch (Exception ex)
            {
                
            }
        }