C# can';我不能只给空电池上色

C# can';我不能只给空电池上色,c#,devexpress,C#,Devexpress,我希望通过该代码只对空单元格着色。 但是我要把所有的细胞都染上颜色。 谁能告诉我哪里是我的错 private void gridView3_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) { GridView View = sender as GridView; if(e.Column.FieldName == "First Name")

我希望通过该代码只对空单元格着色。 但是我要把所有的细胞都染上颜色。 谁能告诉我哪里是我的错

private void gridView3_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
        GridView View = sender as GridView;
        if(e.Column.FieldName == "First Name") 
        {
            string category = View.GetRowCellDisplayText(e.RowHandle, View.Columns["First Name"]);
            if(category != "") 
            {   
                e.CellStyle.BackColor = Color.DeepSkyBlue;
            }
        }
}

首先,情况是错误的:

if (category != "")
您正在进行过滤,以便对非空单元格进行着色。因此,首先用
字符串替换它。IsNullOrEmpty(category)

下一步,由于您使用的是DevExpress控件,可能您可以使用内置的条件格式:

可能是这样的:

StyleFormatCondition condition1 = new DevExpress.XtraGrid.StyleFormatCondition();
condition1.Appearance.BackColor = Color.DeepSkyBlue;
condition1.Appearance.Options.UseBackColor = true;
condition1.Condition = FormatConditionEnum.Expression;
condition1.Expression = "[First Name] == ''";
gridView1.FormatConditions.Add(condition1);

首先,情况是错误的:

if (category != "")
您正在进行过滤,以便对非空单元格进行着色。因此,首先用
字符串替换它。IsNullOrEmpty(category)

下一步,由于您使用的是DevExpress控件,可能您可以使用内置的条件格式:

可能是这样的:

StyleFormatCondition condition1 = new DevExpress.XtraGrid.StyleFormatCondition();
condition1.Appearance.BackColor = Color.DeepSkyBlue;
condition1.Appearance.Options.UseBackColor = true;
condition1.Condition = FormatConditionEnum.Expression;
condition1.Expression = "[First Name] == ''";
gridView1.FormatConditions.Add(condition1);

您的代码正在为非空单元格着色(检查您的条件
if(category!=“”)

以下是我的作品:

private void gridView3_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
    GridView View = sender as GridView;
    if (e.Column.FieldName == "First Name" &&
        string.IsNullOrEmpty(View.GetRowCellDisplayText(e.RowHandle, e.Column)))
    {
        e.Appearance.BackColor = Color.DeepSkyBlue;
    }
}

您的代码正在为非空单元格着色(检查您的条件
if(category!=“”)

以下是我的作品:

private void gridView3_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
    GridView View = sender as GridView;
    if (e.Column.FieldName == "First Name" &&
        string.IsNullOrEmpty(View.GetRowCellDisplayText(e.RowHandle, e.Column)))
    {
        e.Appearance.BackColor = Color.DeepSkyBlue;
    }
}

问题是我不能使用“外观”'DevExpress.XtraGrid.StyleFormatCondition'不包含“外观”的定义是因为我使用的是Visual studio 2003吗?@Nejthe-不,这与此无关。您可能有旧版本的DevExpress控件。不管怎样,如果您对他们的控制有问题,请在他们的支持论坛上询问。好的,谢谢。。感谢您的帮助问题是我不能使用“外观”'DevExpress.XtraGrid.StyleFormatCondition'不包含“外观”的定义是因为我使用的是Visual studio 2003吗?@Nejthe-不,这与此无关。您可能有旧版本的DevExpress控件。不管怎样,如果您对他们的控制有问题,请在他们的支持论坛上询问。好的,谢谢。。谢谢你的帮助非常感谢。。我的问题是我得到了这个错误DevExpress.XtraGrid.StyleFormatCondition'不包含“外观”的定义。。是因为我使用的是visual studio 2003吗?非常感谢。。我的问题是我得到了这个错误DevExpress.XtraGrid.StyleFormatCondition'不包含“外观”的定义。。是因为我使用的是visual studio 2003吗?