关于改变DataGridView的行背景色(WinForm)
关于改变DataGridView的行背景色(WinForm)
如何根据数据源的某一列改变DataGridView的行背景色。
(这一列并不在界面上显示。)
------解决方案--------------------private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
//若本行不为空行并且无物料名称则显示灰色
if (dataGridView1.Rows[e.RowIndex].Cell["abcd"].Value=="Text1")
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Gray;
else
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
}
------解决方案--------------------不显示,没什么关系
C# code
private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (e.RowIndex > = dataGridView1.Rows.Count - 1)
return;
DataGridViewRow dgr = dataGridView1.Rows[e.RowIndex];
try
{
if (dgr.Cells[ "列名 "].Value.ToString() == "比较值 ")
{
dgr.DefaultCellStyle.ForeColor = 设置的颜色;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
------解决方案--------------------
C# code
你把那列掩藏不就可以了,,显不显示并没关系
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
try
{
if (dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()=="2")
{
e.CellStyle.BackColor = Color.Red;
}
}
------解决方案--------------------
------解决方案--------------------