Justin Kabuya Ответов: 1

Как изменить цвет строки в datagridview C#


Что я делаю не так, чтобы строка в datagridview не меняла цвет?

Что я уже пробовал:

dgvArticles.DataSource = gsUtils.GetArticles();

						 //Set the color
						 foreach (DataGridViewRow row in dgvArticles.Rows)
						 {	
							 if (Convert.ToInt32(row.Cells["QuantiteStock"].Value) <= Convert.ToInt32(row.Cells["StockLimite"].Value))
							 {
								 row.DefaultCellStyle.ForeColor = Color.Red;
							 }
						 }

1 Ответов

Рейтинг:
1

RickZeeland

Ваш код выглядит нормально, но, возможно, вы хотели установить BackColor ?

Некоторые альтернативы:

myDataGridView.AlternatingRowsDefaultCellStyle.BackColor = Color.WhiteSmoke;

Используя CellFormatting событие:
private void myDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 1)
    {
        if (myDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == "abc")
        {
            e.CellStyle.ForeColor = Color.Red;
        }
    }
}

Более подробная информация здесь: Как настроить форматирование данных в элементе управления Windows Forms DataGridView | Microsoft Docs[^]