Как я могу сделать условное форматирование в datgridview в C #? - PullRequest
1 голос
/ 07 октября 2009

В окнах приложений Я хочу установить цвета различных ячеек в сетке данных на основе диапазона значений

Пусть значение 1..22: цвет ячейки должен быть зеленым значение 23.30: цвет ячейки должен быть серым значение> 30: цвет ячейки должен быть красным

как я могу это сделать .. пожалуйста, предложите фрагмент кода? Как я могу сделать условное форматирование в datgridview в C #?

Ответы [ 2 ]

1 голос
/ 07 октября 2009

Вы можете применить объект DataGridViewCellStyle на основании другого условия

DataGridViewCellStyle cellstyle = new DataGridViewCellStyle();
cellstyle.BackColor = Color.Black;
cellstyle.ForeColor = Color.Yellow
dgvAllData.Rows[5].Cells[2].Style = cellstyle;
dgvAllData.Rows[3].Cells[2].Style = cellstyle;
dgvAllData.Rows[6].Cells[2].Style = cellstyle;
1 голос
/ 07 октября 2009

См. Мой ответ для Windowsforms: Как рисовать линии / бары в DataGridView? . Этот вопрос дает ответ в VB.NET (должно быть достаточно легко конвертировать в C #).

Обновлено в соответствии с вопросом

Пример:

private void dataGridView1_CellPainting(object sender, System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
    if (e.Value > 0 && e.Value <= 22 )
    {
        e.Graphics.FillRectangle(Color.Green, e.CellBounds);
    }
    else if (e.Value > 22 && e.Value <= 30 )
    {
        e.Graphics.FillRectangle(Color.Grey, e.CellBounds);
    }
    else if (e.Value > 30)
    {
        e.Graphics.FillRectangle(Color.Red, e.CellBounds);
    }
    else
    {
        e.Graphics.FillRectangle(Color.White, e.CellBounds);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...