【问题标题】:How to set background color in devexpress XtraGrid如何在 devexpress XtraGrid 中设置背景颜色
【发布时间】:2013-09-25 22:10:01
【问题描述】:

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

这是我调用的方法。

表单加载..

加载代码(); - 返回一个用于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;
    }
  }

}

我该如何处理,或者有其他方法可以处理吗?

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

【问题讨论】:

    标签: c# winforms devexpress


    【解决方案1】:

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

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

    详情见:http://documentation.devexpress.com/#windowsforms/DevExpressUtilsAppearanceOptionsMembersTopicAll

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

    【讨论】:

      【解决方案2】:

      您基本上需要为 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

      【讨论】:

        猜你喜欢
        • 2010-12-11
        • 2018-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-06
        • 2016-03-16
        • 2012-09-21
        相关资源
        最近更新 更多