DataGridViewer

时间:2017-04-27 06:06:50

标签: .net vb.net datagridview datagrid datagridviewcolumn

我将datagridview绑定到对象列表(报告)

    DataGridView2.DataSource = Report

因为我这样做,所有行都是'文本格式相同。

有没有办法格式化表格中的特定行?例如,我希望第1行的文本以粗体显示,其余行默认为正常。

非常感谢

2 个答案:

答案 0 :(得分:1)

与列相同,DataGridView中的行有DefaultCellStyleDataGridViewCellStyle具有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