软件编程
位置:首页>> 软件编程>> C#编程>> C#开发WinForm根据条件改变DataGridView行颜色

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

作者:.NET开发菜鸟  发布时间:2022-05-06 05:38:56 

标签:C#,WinForm,DataGridView,改变,行,颜色

根据条件改变DataGridView行的颜色可以使用RowPrePaint事件。

示例程序界面如下:

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

示例程序代码如下:

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com