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
数据可以自定义,返回类型为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站长网) |
相关内容
网友评论
推荐文章
热点阅读