WinForms 中的 DataGridView
控件,可以透過 CellFormatting
事件來比對兩個欄位的值,並在發現不同時改變整列的顏色
假設有兩個欄位 "Column1" 和 "Column2",需要比較這兩個欄位的值,若不同則改變整列的顏色:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
// 確保目前的列是資料列
if (e.RowIndex >= 0 && dataGridView1.Columns["Column1"] != null && dataGridView1.Columns["Column2"] != null)
{
// 取得 Column1 和 Column2 的值
var value1 = dataGridView1.Rows[e.RowIndex].Cells["Column1"].Value?.ToString();
var value2 = dataGridView1.Rows[e.RowIndex].Cells["Column2"].Value?.ToString();
// 比較兩個欄位的值是否不同
if (value1 != value2)
{
// 設定整列的背景顏色為紅色
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
}
else
{
// 若相同則設為預設顏色
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
}
}
}
自我LV~