如何在devexpress XtraGrid中设置背景颜色

时间:2013-09-25 22:10:02

标签: c# winforms devexpress

我想设置devexpress winforms网格的背景颜色。

这是我打电话的方法。

表单加载..

  

LoadCodes(); - 返回gridView rowstyle方法中使用的数据集。

     

gridView1.RefreshData();

private void gridView1_RowStyle(object sender, RowStyleEventArgs e)
{
  string code=string.Empty;
  for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
  {
    code = View.GetRowCellDisplayText(e.RowHandle, View.Columns["code"]);
    if (code.Trim() == ds.Tables[0].Rows[i]["code"].ToString().Trim())
    {
        e.Appearance.BackColor = Color.LightBlue;
        e.Appearance.BackColor2 = Color.WhiteSmoke;
    }
  }

}

我如何处理这个或有其他方法来处理这个?

  

问题:代码不会抛出任何错误,但我没有看到行   在加载表单后自动获取背景颜色,   但是,当我点击网格的任何一行(加载表格后,网格数据可见),然后我会看到背景颜色。

2 个答案:

答案 0 :(得分:1)

你必须通过在e.Appearance.Options上设置它来告诉DevExpress哪些外观属性应该生效

在您的情况下e.Appearance.Options.UseBackColor = true

有关详细信息,请参阅:http://documentation.devexpress.com/#windowsforms/DevExpressUtilsAppearanceOptionsMembersTopicAll

注意:为EvenRowOddRow定义样式后,您还必须设置e.HighPriority(请参阅:http://documentation.devexpress.com/#windowsforms/DevExpressXtraGridViewsGridRowStyleEventArgs_HighPrioritytopic

答案 1 :(得分:1)

您基本上需要为GridView设置默认颜色,如下所示

gridView.Appearance.Row.BackColor = Color.Black;
gridView.Appearance.Row.BorderColor = Color.Black;
gridView.Appearance.Row.ForeColor = Color.White;

上面我们为Row设置外观,然后为SelectedRow,FocusedRow,FocusedCell和GroupRow设置相同的内容。这将使所有行都具有带白色前景的黑色背景。

现在,如果要覆盖特定单元格的默认颜色,请覆盖RowCellStyle事件,https://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_RowCellStyletopic