我的项目中有一个DataGridView,如果数据中的一个单元格读取“ Void”,我希望删除一个特定的数据,但是当我对代码进行操作时,我使用了DataGridView中的所有数据,这表示接受尽管所述单元格中的某些数据仍然是所有数据的第一个参数为“活动”。
下面是我的代码:
For Each r As DataGridViewRow In frmCheckOut_Room.DataGridView2.Rows
If (r.Cells(9).Value) = "Void" Then
r.DefaultCellStyle.ForeColor = Color.Red
r.DefaultCellStyle.Font = New Font("Microsoft Sans Serif", 8, FontStyle.Strikeout)
ElseIf (r.Cells(9).Value) = "Active" Then
r.DefaultCellStyle.Font = New Font("Microsoft Sans Serif", 8)
r.DefaultCellStyle.BackColor = Color.Orange
End If
Next
答案 0 :(得分:0)
您好
,我使用网格的 CellFormatting 事件来实现此目的。例如:
Private Sub DataGridView2_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView2.CellFormatting
If e.ColumnIndex = DataGridView2.Columns("YOUR_COLUMN_NAME").Index AndAlso e.Value IsNot Nothing Then
If (e.Value = "Void") Then
DataGridView2.Rows(e.RowIndex).DefaultCellStyle.Font = New Font("Microsoft Sans Serif", 8, FontStyle.Strikeout)
DataGridView2.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Red
ElseIf (e.Value = "Active") Then
DataGridView2.Rows(e.RowIndex).DefaultCellStyle.Font = New Font("Microsoft Sans Serif", 8)
DataGridView2.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Orange
End If
End If
End Sub
我更喜欢使用列名而不是列索引,但是如果您愿意,可以替换If e.ColumnIndex = DataGridView2.Columns("YOUR_COLUMN_NAME").Index Then
使用:
If e.ColumnIndex = 9 Then
我没有机会进行测试,因此,如果您有任何问题或疑问,请随时给我发消息。
问候
编辑:
如果要标记网格中包含单词“ 活动”或“ 无效”的每个单元格,请使用以下代码:
Private Sub DataGridView2_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView2.CellFormatting
If (e.Value.GetType() = GetType(String)) Then
If (e.Value = "Void") Then
DataGridView2(e.ColumnIndex, e.RowIndex).Style.Font = New Font("Microsoft Sans Serif", 8, FontStyle.Strikeout)
DataGridView2(e.ColumnIndex, e.RowIndex).Style.BackColor = Color.Red
ElseIf (e.Value = "Active") Then
DataGridView2(e.ColumnIndex, e.RowIndex).Style.Font = New Font("Microsoft Sans Serif", 8)
DataGridView2(e.ColumnIndex, e.RowIndex).Style.BackColor = Color.Orange
End If
End If
End Sub