Удалите этот код из dataGridView1_RowValidated
и добавьте его в событие Load
вместо:
Добавьте этот код в конструктор формы:
public Form1()
{
InitializeComponents();
this.Load += OnFormLoad;
this.dataGridView1.Sorted += OnDataGridSorted;
}
private void OnFormLoad(object sender, EventArgs e)
{
UpdateDataGridViewColor();
}
private void OnDataGridSorted(object sender, EventArgs e)
{
UpdateDataGridViewColor();
}
private void UpdateDataGridViewColor()
{
for (int i = 0; i < 5; i++)
{
int j = 6;
DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
CellStyle.ForeColor = Color.Red;
dataGridView1[j, i].Style = CellStyle;
}
}
Обратите внимание, что вы можете добавить событие Load формы двойным щелчком мыши по конструктору форм.
Редактировать: Вы указали в комментариях, что при нажатии на столбец для сортировки применяемый цвет будет удален. исправить это событие добавления this.dataGridView1.Sorted += OnDataGridSorted;
, чтобы при выполнении сортировки применялся новый стиль. Код выше обновлен. «Кстати, я не проверял, до меня, если это не сработало ..»