如何在DataGridView中删除数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在DataGridView中删除数据?相关的知识,希望对你有一定的参考价值。

我在我的项目中有一个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
答案

你好 我使用GridFormatting事件来实现这一目标。例如:

 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

我没有机会测试它,所以如果您有任何问题或疑问,请不要犹豫,给我留言。 问候 编辑:如果要标记网格中包含单词“Active”或“Void”的每个单元格,只需使用以下代码:

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

以上是关于如何在DataGridView中删除数据?的主要内容,如果未能解决你的问题,请参考以下文章

datagridview中删除行并更新数据库

C#里怎样清空DataGridview中的数据

如何清空C#中dataGridView的某一行数据??

如何在datagridview中插入、更新、删除?

如何使用DataGridView从数据库表中插入,更新和删除数据?

如何删除 Datagridview、XML 数据库中的最后一行?