2012-06-30 21 views
0

我试图改变空行的颜色在一个DataGridView如何更改DataGridView中空行的颜色?

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

但行没有definiton的价值,以及细胞需要通过列指定。
请问我该怎么做?

回答

1

那么,你需要检查所有的Cells。这里是你如何能做到这一点使用LINQ:

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

三江源,MiniTech移动。解决了,但它应该是一个更简单的方法。 – Alice

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

,如果你不希望看到的最后一个空行,你可以禁用它:

DataGridViewName.AllowUserToAddRows = False; 
+0

嗯,巧妙。谢谢。 – Alice

+0

我的荣幸,如果您满意,请标记为答案,谢谢。 –

相关问题