Перезаписан ли внешний вид четных строк по сравнению с обычным видом некоторых строк? - PullRequest
1 голос
/ 22 сентября 2009

Давайте проясним ситуацию здесь. Давайте иметь элемент управления gridview в форме WIN. Давайте установим внешний вид четных рядов сетки с помощью backcolor = color.whiteSmoke (скажем, чтобы помочь пользователям легко различать строки). Мы делаем это во время разработки. Теперь давайте программно закрасим красным некоторые строки, которые соответствуют моему условию в событии: gridView_RowStyle.

Проблема в том, что четные строки, соответствующие моему состоянию, все еще окрашены в белый дым?!?!?

Означает ли это, что появление четных строк перезаписывается на пользовательский вид ???

Я этого не понимаю. Что я должен сделать, чтобы строки, соответствующие моему состоянию, были окрашены в красный цвет?

1 Ответ

1 голос
/ 22 сентября 2009

Ну, как было очевидно, да, появление четных строк было заменено на появление строк, которые я закрасил в событии 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});

Это действительно решило мою проблему. Надеюсь, это кому-нибудь поможет.

...