通过该代码我得到所有细胞着色 我只需要空的..有人可以注意到我的错(对不起,我是C#的新手)
private void simpleButton1_Click(object sender, System.EventArgs e)
{
string[] msg = new string[60];
string[] error = new string[400];
for (int i = 0; i < gridView3.RowCount ; i++)
{
System.Data.DataRow Rows = gridView3.GetDataRow(i);
string cellvalue = Rows[0].ToString();
if (cellvalue == "")
{
msg[0] = "Missing 'First Name'";
error[i] = msg[0] + " - ";
gridView3.CustomDrawCell += new RowCellCustomDrawEventHandler(gridView3_CustomDrawCell);
}
}
}
private void gridView3_CustomDrawCell_1(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
e.Style.BackColor = Color.LightSteelBlue;
}
顺便说一下,这个网格是从Excel导入的
答案 0 :(得分:0)
嗯,我认为你还需要循环它的细胞,即
foreach (GridViewRow row in gridView3.Rows)
{
foreach (GridViewCell cell in row.Cells)
{
if (cell.Text == "")
{
//Do stuff here color etc
}
}
}
一旦有权访问CELL对象,就可以在那里设置颜色,即(System.Drawing命名空间)
cell.BackColor = Color.Green
答案 1 :(得分:0)
你可以尝试类似的东西
String.IsNullOrEmpty(cellvalue)
如果是真的那么就做你的事。
如上所述,您可能希望首先遍历单元格
答案 2 :(得分:0)
您只需要注册一次网格事件,而不是在循环中注册 对于细胞着色,请使用RowCellStyle事件。
Customizing Appearances of Individual Rows and Cells help topic