我想设置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;
}
}
}
我如何处理这个或有其他方法来处理这个?
问题:代码不会抛出任何错误,但我没有看到行 在加载表单后自动获取背景颜色, 但是,当我点击网格的任何一行(加载表格后,网格数据可见),然后我会看到背景颜色。
答案 0 :(得分:1)
你必须通过在e.Appearance.Options
上设置它来告诉DevExpress哪些外观属性应该生效
在您的情况下e.Appearance.Options.UseBackColor = true
有关详细信息,请参阅:http://documentation.devexpress.com/#windowsforms/DevExpressUtilsAppearanceOptionsMembersTopicAll
注意:为EvenRow
或OddRow
定义样式后,您还必须设置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