C#开发WinForm根据条件改变DataGridView行颜色
作者:.NET开发菜鸟 发布时间:2022-05-06 05:38:56
标签:C#,WinForm,DataGridView,改变,行,颜色
根据条件改变DataGridView行的颜色可以使用RowPrePaint事件。
示例程序界面如下:
示例程序代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;
namespace DgvChangeColor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string strCon = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = GetDataSource();
this.DgvColor.DataSource = dt;
}
private void DgvColor_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (e.RowIndex >= DgvColor.Rows.Count - 1)
{
return;
}
DataGridViewRow dr = (sender as DataGridView).Rows[e.RowIndex];
if (dr.Cells["项目代码"].Value.ToString().Trim().Equals("ACAC0001"))
{
// 设置单元格的背景色
dr.DefaultCellStyle.BackColor = Color.Yellow;
// 设置单元格的前景色
dr.DefaultCellStyle.ForeColor = Color.Black;
}
else
{
dr.DefaultCellStyle.BackColor = Color.Blue;
dr.DefaultCellStyle.ForeColor = Color.White;
}
}
private DataTable GetDataSource()
{
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection(strCon);
string strSQL = "SELECT XIANGMUCDDM AS '项目代码',XIANGMUMC AS '项目名称', DANJIA AS '单价',SHULIANG AS '数量' FROM InPatientBillDt WHERE 就诊ID='225600'";
SqlCommand cmd = new SqlCommand(strSQL, conn);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
try
{
conn.Open();
adapter.Fill(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
return dt;
}
}
}
示例程序下载地址:点此下载
来源:https://www.cnblogs.com/dotnet261010/p/8464343.html


猜你喜欢
- 本文实例讲述了Java+Ajax实现的用户名重复检验功能。分享给大家供大家参考,具体如下:今天,我来教大家怎么实现Java+Ajax实现用户
- SSM在Controller中添加事务管理本人使用:集成开发环境:idea项目管理工具:maven数据库:oracle框架:Spring+S
- 前面的文章已经实现相关的布局,本文接着进行相关的功能实现读取系统联系人当点击“选择联系人”按钮后,弹出联系人列表,读取系统联系人分如下几个步
- 本文实例讲述了Java Socket实现多线程通信功能的方法。分享给大家供大家参考,具体如下:前面的文章《Java Socket实现单线程通
- xxx cannot be resolved to a type引言 eclipse新导入的项目经常可以
- 前言 分享到微信朋友圈的功能早已经有了,但微信登录推出并不久,文档写的也并不是很清楚,这里记录分享一下。 正文 
- SpringBoot项目中新增脱敏功能项目背景目前正在开发一个SpringBoot项目,此项目有Web端和微信小程序端。web端提供给工作人
- 本文实例讲述了Java Bean与xml互相转换的方法。分享给大家供大家参考,具体如下:XML和Java Bean互相转换是一个很有用的功能
- C#中,Image为源自 Bitmap 和 Metafile 的类提供功能的抽象基类,也就是说更通用,当我们用Image.FromFile(
- 本文实例讲述了C#创建临时文件的方法。分享给大家供大家参考。具体分析如下:C#可以通过Path.GetTempFileName获得一个临时文
- 一、建数据库和表1.数据库demo1放一张user表SET FOREIGN_KEY_CHECKS=0;-- ----------------
- 1.前言热修复一直是这几年来很热门的话题,主流方案大致有两种,一种是微信Tinker的dex文件替换,另一种是阿里的Native层的方法替换
- * 的实现使用的模式:代理模式。代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。类似租房的中介。两种 * :(1)jd
- 1、spring aop实现首先application-test.yml增加如下数据源的配置spring: datasource
- Style.xml的妙用Style.xml之于Android犹如css之于Jsp妙用<?xml version="1.0&q
- 1. Resource Basics(1) Manifest Resources(资源清单)资源在编译期间添加到程序集。如果要将资源嵌入到程
- 一、介绍搜索了关于spring boot+vue的前后端分离实践项目很多,但是对于最基础登录功能的博客却是几年前的了。于是学习了好几个大神的
- 呐呐呐,做Java呢,最重要是要把自己的“作品” 部署到公网上去啦。特别是初学者,需要向面试官证明自己会什么,这个真的就很重要啦,空口无凭,
- 本文实例展示了DevExpress获取TreeList可视区域节点集合的实现方法,是比较有实用价值的技巧。分享给大家供大家参考。具体实现方法
- 一、概述有序数组中常常用到二分查找,能提高查找的速度。今天,我们用顺序查找和二分查找实现数组的增删改查。二、有序数组的优缺点优点:查找速度比