DevExpress ChartControl动态创建按月份按姓名对比的柱状图对比图|C/S开发框架

DevExpress ChartControl动态创建按月份按姓名对比的柱状图对比图
数据结构

ChartControl效果

C#源码
动态创建Series组件
根据表1,循环年份,自动生成按年对比数据的柱状图
C# 全选
//获取数据源
DataSet dataSource = _BLL.GetTongJiData(year);
chartControl1.Series.Clear();
chartControl2.Series.Clear();
chartControl3.Series.Clear();
foreach (DataRow R in dataSource.Tables[0].Rows)
{
dataSource.Tables[1].DefaultView.RowFilter = $"yyyymm='{R["yyyymm"].ToString()}'";
var source = dataSource.Tables[1].DefaultView.ToTable();
var series = new Series(R["yyyymm"].ToString(), ViewType.Bar);
series.DataSource = source;
series.SetDataMembers("syr", "avgTotal");
SetView(series);
chartControl1.Series.Add(series);
this.chartControl1.Titles[0].Text = year + "年平均每车单子数";
var series2 = new Series(R["yyyymm"].ToString(), ViewType.Bar);
series2.DataSource = source;
series2.SetDataMembers("syr", "total1");
SetView(series2);
chartControl2.Series.Add(series2);
this.chartControl2.Titles[0].Text = year + "年单子数";
var series3 = new Series(R["yyyymm"].ToString(), ViewType.Bar);
series3.DataSource = source;
series3.SetDataMembers("syr", "total2");
SetView(series3);
chartControl3.Series.Add(series3);
this.chartControl2.Titles[0].Text = year + "年车数";
}设置Label样式
C# 全选
private void SetView(Series series)
{
// 显示Label
series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;
// 对齐方式
series.Label.TextAlignment = StringAlignment.Center;
// 文本方向
series.Label.TextOrientation = TextOrientation.Horizontal;
// Label位置
(series.Label as BarSeriesLabel).Position = BarSeriesLabelPosition.Top;
}设置Legend样式
C# 全选
//设置Legend样式
chartControl1.Legend.Visibility = DefaultBoolean.True;
chartControl1.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center;
chartControl1.Legend.AlignmentVertical = LegendAlignmentVertical.BottomOutside;
chartControl1.Legend.Direction = LegendDirection.LeftToRight;

参考文档:
C# DevExpress.XtraCharts获取调色板系统默认颜色-C/S开发框架
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
DevExpress GridControl显示主从表数据(Master/Detail)|C/S开发框架
VS2022+.NET 部署DevExpress V23.2|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
CSFrameworkV6开发框架升级VS2022+.NET8+DevExpress24.1操作步骤|C/S开发框架
C/S结构快速开发框架使用的DevExpress常用组件|C/S开发框架
DevExpress XtraReport 开发指南|单表报表设计详解(C#)|C/S开发框架
C# DevExpress高级篇 | GridLookUpEdit组件使用|C/S开发框架
VS2022解决方案部署DevExpress组件(DevExpress Project Settings)|C/S开发框架
C# DevExpress教学 GridLookUpEdit组件表格下拉组件使用|C/S开发框架
踩坑日记 | DevExpress GridView.GetSelectedRows方法返回无效的RowHandle行号|C/S开发框架
DevExpress常用组件操作扩展类:DevExpressExtensions.cs|C/S开发框架
喜鹊ERP | DevExpress 表格常用操作指南|表格组件自动分组|C/S开发框架
C# DevExpress.XtraCharts获取调色板系统默认颜色-C/S开发框架
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
DevExpress LookupEdit按回车键自动确认选择数据|C/S开发框架
DevExpress GridControl显示主从表数据(Master/Detail)|C/S开发框架
VS2022+.NET 部署DevExpress V23.2|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
CSFrameworkV6开发框架升级VS2022+.NET8+DevExpress24.1操作步骤|C/S开发框架
C/S结构快速开发框架使用的DevExpress常用组件|C/S开发框架
DevExpress XtraReport 开发指南|单表报表设计详解(C#)|C/S开发框架
C# DevExpress高级篇 | GridLookUpEdit组件使用|C/S开发框架
VS2022解决方案部署DevExpress组件(DevExpress Project Settings)|C/S开发框架
C# DevExpress教学 GridLookUpEdit组件表格下拉组件使用|C/S开发框架
踩坑日记 | DevExpress GridView.GetSelectedRows方法返回无效的RowHandle行号|C/S开发框架
DevExpress常用组件操作扩展类:DevExpressExtensions.cs|C/S开发框架
喜鹊ERP | DevExpress 表格常用操作指南|表格组件自动分组|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
