我将datagridview绑定到对象列表(报告)
DataGridView2.DataSource = Report
因为我这样做,所有行都是'文本格式相同。
有没有办法格式化表格中的特定行?例如,我希望第1行的文本以粗体显示,其余行默认为正常。
非常感谢
答案 0 :(得分:1)
与列相同,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)
答案 1 :(得分:0)
如果行索引为0,您可以使用DataGridView.CellFormatting
事件并更改每个单元格的样式。
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
事件,因此您需要小心并且不要执行&#34; heavy&#34;那个事件的逻辑。 DataGridView.CellFormatting Event