如何更改DataGridView中空行的颜色?

时间:2012-06-30 14:56:03

标签: c# winforms datagridview

我正在尝试更改DataGridView中空行的颜色

foreach (DataGridViewRow r in dgv1.Rows)  
if (r.Value.ToString() == "")
//if (r.Cells.Value.ToString() == "") - also trying
r.DefaultCellStyle.BackColor = Color.WhiteSmoke;

但Row没有定义Value,而Cell需要由Column指定 我该怎么办呢?

2 个答案:

答案 0 :(得分:1)

嗯,您需要检查所有Cells。以下是使用LINQ的方法:

foreach(DataGridViewRow r in dgv1.Rows) {
    if(r.Cells.All(c => c.Value.ToString() == string.Empty)) {
        r.DefaultCellStyle.BackColor = Color.WhiteSmoke;
    }
}

答案 1 :(得分:0)

foreach (DataGridViewRow r in dgv1.Rows)  
if (r.Cells["YourImportantFieldNameLikeID"].Value == null)
r.DefaultCellStyle.BackColor = Color.WhiteSmoke;

如果您不想看到最后一个空行,可以使用以下命令禁用它:

DataGridViewName.AllowUserToAddRows = False;