C#开发WinForm根据条件改变DataGridView行颜色

 更新时间:2022年03月07日 16:46:03   作者:.NET开发菜鸟  
这篇文章介绍了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;
        }
    }
}

示例程序下载地址:点此下载

到此这篇关于C#开发WinForm根据条件改变DataGridView行颜色的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 共享锁using范围的实现方法

    共享锁using范围的实现方法

    共享锁using范围的实现方法,需要的朋友可以参考一下
    2013-04-04
  • C# 预处理器指令的用法

    C# 预处理器指令的用法

    本文主要介绍了C# 预处理器指令的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • C# 使用 Castle 实现 AOP及如何用 Autofac 集成 Castle

    C# 使用 Castle 实现 AOP及如何用 Autofac 集成 Castle

    这篇文章主要介绍了C# 使用 Castle 实现 AOP及如何用 Autofac 集成 Castle,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#的SQL操作类实例

    C#的SQL操作类实例

    这篇文章主要介绍了C#的SQL操作类实例,涉及到针对数据库的常用操作,在进行C#数据库程序设计中非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C#下解析HTML的两种方法介绍

    C#下解析HTML的两种方法介绍

    用System.Net.WebClient下载Web Page存到本地文件或者String中,用正则表达式来分析。这个方法可以用在Web Crawler等需要分析很多Web Page的应用中
    2013-09-09
  • C#检测是否有u盘插入的方法

    C#检测是否有u盘插入的方法

    这篇文章主要介绍了C#检测是否有u盘插入的方法,涉及C#操作硬件的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C#很简单而又很经典的一句代码实例

    C#很简单而又很经典的一句代码实例

    这篇文章主要给大家分享介绍了关于C#很简单而又很经典的一句代码,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Unity游戏开发中的中介者模式的应用与实现

    Unity游戏开发中的中介者模式的应用与实现

    中介者模式是Unity游戏开发中常用的设计模式之一,用于减少对象之间的直接耦合,通过引入中介者来协调对象之间的交互。通过中介者模式,游戏对象可以更加灵活地进行交互和协同工作,降低系统复杂度,使代码更加易于维护和扩展
    2023-05-05
  • 如何使用C#操作幻灯片

    如何使用C#操作幻灯片

    一般大家经常会用PPT遥控翻页笔来遥控幻灯片,本文确为大家介绍了使用C#制作一个遥控幻灯片,感兴趣的朋友可以参考下
    2015-07-07
  • 详解C#中的字符串拼接@ $

    详解C#中的字符串拼接@ $

    这篇文章主要介绍了C#中的字符串拼接@,$的相关知识,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论