Шрифт строки формата VB.NET в DataGridViewer
Я связываю представление данных со списком объектов (отчет)
DataGridView2.DataSource = Report
и потому что я делаю это, текстовый формат всех строк идентичны.
Есть ли способ отформатировать конкретную строку в таблице? Например, я хотел бы, чтобы текст строки 1 выделен жирным шрифтом, остальные строки по умолчанию являются нормальными.
Большое спасибо
2 ответа
Как и для столбца, строка в DataGridView
имеет DefaultCellStyle
, Тот DataGridViewCellStyle
имеет Font
свойство, которое вы можете установить на Font
с соответствующими Style
настройка, например
Dim cellStyle = myDataGridViewRow.DefaultCellStyle
Dim font = cellStyle.Font
cellStyle.Font = New Font(font, font.Style Or FontStyle.Bold)
РЕДАКТИРОВАТЬ: я понял, что этот код не будет работать, если вы еще не установили явно Font
для этого ряда. Если каждая ячейка наследует свой стиль от сетки, то вам также нужно получить шрифт из сетки:
Dim font = myDataGridView.DefaultCellStyle.Font
myDataGridViewRow.DefaultCellStyle.Font = New Font(font, font.Style Or FontStyle.Bold)
Ты можешь использовать DataGridView.CellFormatting
событие и изменение стиля каждой ячейки, если индекс строки равен 0.
Private Sub YourDataGridView_CellFormatting(sender AS Object,
e As DataGridViewCellFormattingEventArgs)
If e.RowIndex <> 0 Then Exit Sub
' Use e.CellStyle for formatting a cell
e.CellStyle.BackColor = Color.Grey;
e.CellStyle.Font = yourFontForFirstRow
End Sub
Заметить, что DataGridView.CellFormatting
Событие происходит каждый раз, когда управление рисует, поэтому вы должны быть осторожны и не выполнять "тяжелую" логику в этом событии. Событие DataGridView.CellFormatting