0

可能重复:
在 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 导入的

4

3 回答 3

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
于 2013-02-01T13:40:46.740 回答
0

您可以尝试类似 String.IsNullOrEmpty(cellvalue) If True 的方法,然后执行您的操作。

如前所述,您可能希望先循环遍历单元格

于 2013-02-01T13:43:00.890 回答
0

您只需要注册一次网格事件,而不是在循环中。
对于单元格着色,请使用RowCellStyle事件。

自定义单个行和单元格的外观帮助主题

于 2013-02-01T13:51:01.743 回答