Как изменить цвет шрифта строки в DataGrid?
Цвет зависит от состояния в таблице.
Я видел это сообщение здесь, в stackflow, но он работает только для выбранных линии, и что линия будет другого цвета, независимо от того, выбрана она или нет.
Как изменить цвет шрифта строки в DataGrid?
Цвет зависит от состояния в таблице.
Я видел это сообщение здесь, в stackflow, но он работает только для выбранных линии, и что линия будет другого цвета, независимо от того, выбрана она или нет.
Вы можете просто добавить обработчик событий в Paint
представления сетки.
Если вы хотите сделать больше, чем просто цвет, мы пошли по пути наследования от DataGridViewCell
и переопределения его метода Paint, наследования от DataGridViewColumn
, чтобы использовать эту ячейку, а затем использовать этот столбец в нашем представлении сетки.
Ниже приведен переопределенный метод, но обработчик событий будет выглядеть аналогичным образом.
protected override void Paint(Graphics graphics,
Rectangle clipBounds, Rectangle cellBounds,
int rowIndex, DataGridViewElementStates cellState, object value, object
formattedValue, string errorText, DataGridViewCellStyle cellStyle,
DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts
paintParts)
{
if ((value as WhatEverType).WhatEverField == 9)
{
cellStyle.ForeColor = Color.CornflowerBlue;
}
base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts);
}