2013-02-01 98 views
0

可能重复:
Show message in empty cells in GridView颜色空单元格不是所有的细胞

通过代码我得到的所有单元格颜色的 我只需要一空。可有人注意我的错在哪里(对不起,我是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

嗯,我想你也需要循环的细胞,即

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 
+0

我在第一行得到这个错误 foreach语句不能对'int'类型的变量进行操作,因为'int'不包含'GetEnumerator'的定义,或者它不可访问 – Nejthe

0

你可以尝试像 如果是真的,那么做你的事情。

至于说,你可以通过你只需要注册一次电网事件,而不是在循环第一