设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

DevExpress20:XtraCharts控件实现图表(2)

发布时间:2021-01-07 01:10 所属栏目:52 来源:网络整理
导读:2.2、准备数据 创建数据 DataTable CreateBarData(){ string sql = string.Format(@" SELECT c.CollegeName,COUNT(*) FROM studentmanager.student LEFT JOIN college AS c ON c.CollegeID=student.CollegeID GROUP


2.2、准备数据

创建数据 DataTable CreateBarData() { string sql = string.Format(@" SELECT c.CollegeName,COUNT(*) FROM studentmanager.student LEFT JOIN college AS c ON c.CollegeID=student.CollegeID GROUP BY c.CollegeID); DataSet ds = _db.GetResult(sql); if (ds != null) { DataTable dtData = ds.Tables[]; DataTable table = ); table.Columns.Add(typeof(string)); table.Columns.Add(int)); dtData.Rows) { CollegeNameCOUNT(*)] }; table.Rows.Add(array); } table; } else { return ; } }

数据可以自定义,返回类型为DataTable即可。

2.3、根据数据创建柱状图

BuilderDevBarChart() { chartControl2.Series.Clear(); Series _barSeries = ""= ";x轴 _barSeries.ValueDataMembers[Y轴 _barSeries.DataSource = CreateBarData(); _barSeries.SetColorEach(); chartControl2.Series.Add(_barSeries);
    _barSeries.LegendPointOptions.PointView = PointView.ArgumentAndValues;
    chartControl2.SetXLableAngle(-35);
    chartControl2.SetCrosshair();
    chartControl2.Legend.Direction = LegendDirection.LeftToRight;
    chartControl2.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center;
    chartControl2.Legend.AlignmentVertical = LegendAlignmentVertical.BottomOutside;
    chartControl2.AddTitle(学院学生数量柱状图);
}

2.4、用到的方法

class ChartUtils { <summary> 增加数据筛选 </summary> <param name="SeriesBase"></param> <param name="columnName">列名称<param name="value">列名称对应的筛选数值<param name="dataFilterCondition">DataFilterCondition枚举</param> void AddDataFilter(this SeriesBase series,255);">string columnName,255);">object value,DataFilterCondition dataFilterCondition) { series.DataFilters.Add(new DataFilter(columnName,value.GetType().FullName,dataFilterCondition,value)); } 设置X轴Lable角度 <param name="chart">ChartControl<param name="angle">角度void SetXLableAngle(this ChartControl chart,0);"> angle) { XYDiagram _xyDiagram = (XYDiagram)chart.Diagram; if (_xyDiagram != ) _xyDiagram.AxisX.Label.Angle = angle; } 设置Y轴Lable角度 void SetYLableAngle( (XYDiagram)chart.Diagram; _xyDiagram.AxisY.Label.Angle = angle; } 设置ColorEach <param name="colorEach">是否设置成ColorEachvoid SetColorEach(this Series series,255);">bool colorEach) { SeriesViewColorEachSupportBase colorEachView = (SeriesViewColorEachSupportBase)series.View; if (colorEachView != ) { colorEachView.ColorEach = colorEach; } } 设置是否显示十字标线 <param name="crosshair">是否显示十字标线void SetCrosshair( crosshair) { chart.CrosshairEnabled = crosshair ? DefaultBoolean.True : DefaultBoolean.False; chart.CrosshairOptions.ShowArgumentLabels = crosshair; chart.CrosshairOptions.ShowArgumentLine = crosshair; chart.CrosshairOptions.ShowValueLabels = crosshair; chart.CrosshairOptions.ShowValueLine = crosshair; } 新增ChartControl的Title文字 <param name="title">Title文字void AddTitle( title) { chart.Titles.Clear(); 先清除以前的标题 ChartTitle _title = ChartTitle(); _title.Text = title; chart.Titles.Add(_title); } 饼状Series设置成百分比显示 Series series) { PieSeriesView) { ((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = ; ((PiePointOptions)series.PointOptions).ValueNumericOptions.Format = NumericFormat.Percent; ((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = ; } } 饼状Series设置显示格式,是以数字还是百分号显示 SetPieNumber(Series series) { PieSeriesView) { 设置为值 ((PiePointOptions)series.PointOptions).PercentOptions.ValueAsPercent = NumericFormat.Number; ((PiePointOptions)series.PointOptions).ValueNumericOptions.Precision = ChartControl设置标题 <param name="chartControl"></param> <param name="HTitle"></param> void SetHZTitle(ref ChartControl chartControl,0);"> HTitle) { chartControl.Titles.Clear(); 先清除以前的标题 横标题设置 ChartTitle titles = new ChartTitle(); 声明标题 titles.Text = HTitle; 名称 titles.TextColor = System.Drawing.Color.Black; 颜色 titles.Indent = 5; 设置距离 值越小柱状图就越大 titles.Font = new Font(Tahoma14,FontStyle.Bold); 设置字体 titles.Dock = ChartTitleDockStyle.Top; 设置对齐方式 titles.Alignment = StringAlignment.Center; 居中对齐 chartControl.Titles.Add(titles); 添加标题 } }

实现结果:

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读