单元格里显示曲线

server/2024/11/10 8:31:46/

想要实现的效果如下:表格每一行都有一个曲线

TreeList与GridControl的设置方法类似。

1、先创建控件的数据源,我使用的是DataTable

/// <summary>/// 生成一个DataTable/// </summary>/// <returns></returns>public static DataTable GetDataSource(){DataTable dt = new DataTable();dt.Columns.Add(new DataColumn("ID", typeof(Int32)){AllowDBNull = false,AutoIncrement = true,AutoIncrementSeed = 1,AutoIncrementStep = 1});dt.Columns.Add(new DataColumn("Name", typeof(string)));dt.Columns.Add(new DataColumn("Year", typeof(int)));for (int i = 1; i <=12 ; i++){dt.Columns.Add(new DataColumn($"{i}月", typeof(double)));}dt.Columns.Add(new DataColumn("RowSum", typeof(double)));dt.Columns.Add(new DataColumn("RowAvr", typeof(double)));int index = 1;List<string> names = new List<string> { "张三","李四","王五"}; foreach (var name in names){for (int year = 2021; year <= 2024; year++){var random = new Random(year);double sum = 0;double[] numbs = new double[12];for (int i = 0; i < numbs.Length; i++){numbs[i] = random.NextDouble() * 100;sum += numbs[i];}var itemArr = new List<object>() { index++, name, year };Array.ForEach(numbs, x => itemArr.Add(x));itemArr.Add(sum); itemArr.Add(sum / 12 );dt.Rows.Add(itemArr.ToArray());}  } return dt;}

2、创建Column(与平时使用方法相同)

这里要注意的是:

(1)要显示曲线的那列需要指定ColumnEdit使用的是SparklineEdit控件

(2)曲线列的UnboundType的Object

3、创建曲线列RepositoryItemSparklineEdit的View对象,具体代码如下:

//绑定数据源gridControl1.DataSource = Bll.BllMain.GetDataSource();//创建view对象var view = SparklineViewBase.CreateView(SparklineViewType.Line) ;if(view is LineSparklineView lineSparklineView){//设置lineView上的每个点都有MarkerlineSparklineView.ShowMarkers = true;//设置Marker的颜色lineSparklineView.MarkerColor = Color.Gold;}//设置view的颜色view.Color = Color.Blue; //设置点高亮显示view.HighlightEndPoint = true;view.HighlightStartPoint = true;view.HighlightMaxPoint = true;view.HighlightMinPoint = true;//设置点的颜色view.MaxPointColor = Color.Red;view.MinPointColor = Color.Orange;view.StartPointColor = Color.DarkGreen;view.EndPointColor = Color.Purple;//把view对象绑定到单元格控件上repositoryItemSparklineEdit1.View = view;

4、RepositoryItemSparklineEdit列对应的数据是Object,我们需要通过代码指定这列具体单元格对应的的数据源

private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e){if (e.IsGetData){ List<double> values = new List<double>();DataRowView row = (DataRowView)e.Row;for (int i = startIndex; i < startIndex+12; i++){values.Add((double)row.Row.ItemArray[i]);}e.Value = values;//指定单元格的数据源}}

通过以上代码及设置即可实现想要的效果


http://www.ppmy.cn/server/106864.html

相关文章

如何在huggingface上下载模型

先安装&#xff1a; pip install huggingface_hub终端登录huggingface账号&#xff1a; huggingface-cli login填写上自己的token之后现实登录成功&#xff0c;然后就可以下载不需要额外认证的模型 如果不能连接上huggingface&#xff0c;可以使用镜像网站&#xff0c;在终端…

Objective-C中的广播站:深度解析NSNotificationCenter

标题&#xff1a;Objective-C中的广播站&#xff1a;深度解析NSNotificationCenter 在Objective-C中&#xff0c;NSNotificationCenter是一个强大的组件&#xff0c;它允许对象之间进行松耦合的通信。这种机制通常被称为发布-订阅模式或观察者模式。NSNotificationCenter允许对…

《算法竞赛进阶指南》0x26广搜变形

双端队列BFS 在最基本的广度优先搜索中&#xff0c;每次沿着分支的扩展都被记为“一步”。我们通过逐层搜索&#xff0c;解决了从起始状态到每个状态的最小步数问题。这其实等价于在一张边权均为1的图上执行广度优先遍历&#xff0c;求出每个点相对于起点的最短距离。&#xf…

秋招复习笔记——嵌入式裸机开发

底层相关的内容&#xff0c;之前掌握的不扎实&#xff0c;现在重新把相关重点记录一下&#xff0c;做个笔记记诵。 相关基础知识 ST简单内容 用的F103ZET6&#xff0c;72MHz&#xff0c;FLASH是512KB&#xff0c;SRAM是64KB&#xff0c;144个引脚&#xff0c;2基本定时器&am…

miniQMT怎么获取历史/最新行情?miniQMT原生python环境如何获取历史/最新行情?

原生Python 调用方法 python from xtquant import xtdata xtdata.get_market_data_ex(field_list[],# 字段stock_list[],# 合约代码列表period1d,# 数据周期——1m、5m、1d、tickstart_time,# 数据起始时间%Y%m%d或%Y%m%d%H%M%Send_time,# 数据结束时间%Y%m%d或%Y%m%d%H%M%Sc…

nginx平滑升级和location案例

平滑升级 //解压新的模块包,并且再次解压nginx源码包 [rootnginx ~]# unzip echo-nginx-module-master.zip [rootnginx ~]# tar -zxvf nginx-1.24.0.tar.gz//添加新的模块进行编译安装 [rootnginx ~]# cd nginx-1.20.0/ [rootnginx nginx-1.24.0]# ./configure --prefix/usr…

JUC-Synchronized原理进阶

轻量级锁 轻量级锁的使用场景&#xff1a;如果一个对象虽然有多线程要加锁&#xff0c;但加锁的时间是错开的&#xff08;也就是没有竞争&#xff09;&#xff0c;那么可以使用轻量级锁来优化。轻量级锁对使用者是透明的&#xff0c;即语法仍然是 synchronized 假设有两个方法同…

安卓13 背光调节非线性问题处理,调节范围不正常问题

总纲 android13 rom 开发总纲说明 目录 1.前言 2.问题分析 3.代码修改 4.彩蛋 1.前言 我们看看现在的版本的亮度图 2.问题分析 当背光亮度设置为0%时,每次按下亮度增加键或者 input keyevent BRIGHTNESS_UP,亮度UI的增幅较大,首次按下后亮度平滑提升至大约55%,随后继…