我想问一下如何在
例如,一个表有4个列:
检查每一行,看看是否有任何
感谢您的帮助,我已经找到了解决方案。
dataGridView
中根据列的值自动更新行的字体颜色。例如,一个表有4个列:
id,name,rentPayMent和check
。检查每一行,看看是否有任何
check == 0
的值
如果是,则此行的字体color = red
,否则do nothing
目前,我使用以下代码,但它会出现错误:
Object reference not set to an instance of an object,System.NullReferenceException was unhandled
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[3].Value.ToString() == "0") //**Object reference not set to an instance of an object**
{
row.DefaultCellStyle.BackColor = Color.Red; //then change row color to red
}
}
}
感谢您的帮助,我已经找到了解决方案。
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dataGridView1.Rows[e.RowIndex].Cells[3].Value != null && !string.IsNullOrWhiteSpace(dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString()))
{
if (dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString().Trim() == "0")
dataGridView1.Rows[e.RowIndex].DefaultCellStyle = new DataGridViewCellStyle { ForeColor = Color.Red };
}
else
{
dataGridView1.Rows[e.RowIndex].Cells[3].Style = dataGridView1.DefaultCellStyle;
}
}