千家信息网

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

发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,本文小编为大家详细介绍"C#开发WinForm中怎么根据条件改变DataGridView行颜色",内容详细,步骤清晰,细节处理妥当,希望这篇"C#开发WinForm中怎么根据条件改变DataGridV
千家信息网最后更新 2024年10月11日C#开发WinForm中怎么根据条件改变DataGridView行颜色

本文小编为大家详细介绍"C#开发WinForm中怎么根据条件改变DataGridView行颜色",内容详细,步骤清晰,细节处理妥当,希望这篇"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行颜色"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0