Devexpress gridcontrol изменить выбранный цвет строки - PullRequest
3 голосов
/ 16 февраля 2012

Я использую FormatConditions для форматирования определенных строк на основе их свойств.Например, у меня есть gridcontrol со многими строками, а некоторые строки окрашиваются в красный цвет при возникновении ошибки.У меня проблема в том, что при выделении строки форматирование исчезает и становится синим.

Мне бы хотелось, чтобы выбранный цвет строки был чуть более темным оттенком, чем тот или иной цвет.Т.е. вы все еще можете сказать, какого цвета была затенена строка, но вы также можете сказать, что она выделена.

Какой лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 21 февраля 2012

Обработка GridView.CustomDrawCell Event и получение состояния текущей ячейки, независимо от того, принадлежит она выбранной строке или нет.

// Получить состояние ячейки - e.Cell обеспечивает доступ к текущей ячейке для рисования -

 GridRowCellState state = ((GridCellInfo)e.Cell).State;

Затем проверьте выбранную ячейку строки

if ((state & GridRowCellState.Selected) == GridRowCellState.Selected)
{
// do your custrom drawing here.
// for example 
e.DisplayText = "";
e.Appearance.BorderColor = Color.White;
}

Затем установите CustomDrawEventArgs.Handled Свойство - e.Handled = true or false; после пользовательской раскраски ячейки согласно вашему требованию.

Просмотрите ссылки на эту документацию:
Основы пользовательской живописи
Пользовательские образцы живописи

1 голос
/ 16 февраля 2012

Полагаю, вам нужно будет сделать это вручную, обработав событие GridView.CustomDrawCell и установить цвет строки на основе текущего состояния строки. Если память мне не изменяет, вы должны проверить свойство RowCellCustomDrawEventArgs.Cell для получения информации о состоянии строки.

Исходя из вашего вопроса, вам нужно всего лишь изменить поведение, когда строка выбрана, так что вы можете просто пропустить пользовательское рисование (установите e.Handled=False), если строка не выбрана и ваши существующие функциональные возможности останутся неизменными.

...