我希望找到一种方法将我的交替行模式应用到单个datagridview列。
我有一个使用vb.net的Windows窗体应用程序。现在我有一个模式,将每个其他datagridview单元格的背景颜色更改为不同的颜色。我的图案是白色,然后是浅蓝色。我在下面添加了一张图片和我的代码。此代码将此模式应用于整个datagridview,但我只想将其应用于一个,例如第二列索引。
With Me.DataGridView1
.DefaultCellStyle.BackColor = Color.White
.AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue
End With
答案 0 :(得分:1)
您可以在datagridview的cellformatting事件中添加if语句,如下所示:
Private Sub DataGridView1_ConditionalFormatting_StatusCell(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
If e.ColumnIndex = 2 Then
With Me.DataGridView1
If e.RowIndex Mod 2 = 0 Then
e.CellStyle.ForeColor = Color.White
Else
e.CellStyle.ForeColor = Color.AliceBlue
End If
End With
End If
End Sub
答案 1 :(得分:0)
如果要为网格中的某些列提供备用样式 像这样使用cellformating事件
Private Sub TDBGrid1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles TDBGrid1.CellFormatting
With TDBGrid1
If Not e.RowIndex Mod 2 = 0 AndAlso e.ColumnIndex > 3 Then
e.CellStyle.BackColor = Color.Cyan
Else
e.CellStyle.BackColor = Color.White
End If
End With
End Sub
这里我想要列式索引的替代样式,大于3