datagridview 有新数据时改变行的颜色

时间:2022-10-15 10:31:35
datagridview 有新数据时改变行的颜色
间隔一分钟获取一次数据,用datatable保存,然后datagridview 绑定datatable

如果有新数据
datagridview 有新数据时改变行的颜色
或者现有数据的回复人,回复数的值改变时怎么改变行的颜色呢
datagridview 有新数据时改变行的颜色

4 个解决方案

#1


设置行选中 设置属性可以选中多行

#2


最简单的办法,当然是获取到新的datatable是进行for循环,对比当前datagridview的行数据,根据行Id进行比对,按每一行的各个字段,若发现有一字段不同,记下来存在List中,然后当新的datatable赋到datagridview上后,针对已经缓存的LIST做字段颜色变更了。

#4


如果数据上千条,上万条,每次刷新,要查询数据到数据集,还要循环判断数据,还要绑定数据,之后再循环改变颜色,岂不是很很鸡肋!
因为有你已读的这个字段,那就记录到数据库,每次查询出数据集,for循环并且按照已读判断,如果是已读显示一个颜色,如果是未读显示一个颜色,这样即完成了数据加载,又完成了,状态判断。而且这样如果有查询之前的数据,也可以按照数据库中状态进行判断。
当你每次改变数据已读属性时,改变数据库中已读状态,还以有全选的checkbox 进行批量更新、还可以利用分页等。

 改变行颜色   dataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Green;

#1


设置行选中 设置属性可以选中多行

#2


最简单的办法,当然是获取到新的datatable是进行for循环,对比当前datagridview的行数据,根据行Id进行比对,按每一行的各个字段,若发现有一字段不同,记下来存在List中,然后当新的datatable赋到datagridview上后,针对已经缓存的LIST做字段颜色变更了。

#3


#4


如果数据上千条,上万条,每次刷新,要查询数据到数据集,还要循环判断数据,还要绑定数据,之后再循环改变颜色,岂不是很很鸡肋!
因为有你已读的这个字段,那就记录到数据库,每次查询出数据集,for循环并且按照已读判断,如果是已读显示一个颜色,如果是未读显示一个颜色,这样即完成了数据加载,又完成了,状态判断。而且这样如果有查询之前的数据,也可以按照数据库中状态进行判断。
当你每次改变数据已读属性时,改变数据库中已读状态,还以有全选的checkbox 进行批量更新、还可以利用分页等。

 改变行颜色   dataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Green;