让我们清楚这里的情况。 让我们以WIN形式使用devexpress的gridview控件。让我们设置网格的偶数行的外观具有backcolor = color.whiteSmoke(比如说帮助用户轻松地对行进行分类)。我们在设计时这样做。 现在,让我们以编程方式在一个事件中使用与我的条件匹配的行中的一些颜色:gridView_RowStyle。
问题是偶数行,匹配我的条件仍然是白色的?!?!?
这是否意味着偶数行的外观会被覆盖到自定义外观???
我没有得到那个。 我应该做什么,以便符合我条件的行用红色着色?
答案 0 :(得分:1)
嗯,很明显,是的,偶数行的外观被覆盖到我在RowStyle事件中着色的行的外观。
解决方案,以避免被覆盖是使用DevExpress.XtraGrid.StyleFormatCondition对象,同时以编程方式绑定网格,如下例所示:
this.gridControl.DataSource = dataTable;
DevExpress.XtraGrid.StyleFormatCondition styleFormatCondition1 =
new DevExpress.XtraGrid.StyleFormatCondition();
styleFormatCondition1.Appearance.BackColor = System.Drawing.Color.LightCoral;
styleFormatCondition1.Appearance.BackColor2 = System.Drawing.Color.SeaShell;
styleFormatCondition1.Appearance.Options.UseBackColor = true;
styleFormatCondition1.ApplyToRow = true;
styleFormatCondition1.Condition = DevExpress.XtraGrid.FormatConditionEnum.Equal;
styleFormatCondition1.Column = this.gridView.Columns["MY_COLUMN"];
styleFormatCondition1.Value1 = "0";
this.gridView.FormatConditions.AddRange(
new DevExpress.XtraGrid.StyleFormatCondition[] {styleFormatCondition1});
这确实解决了我的问题。希望它对某人有所帮助。