我有一个datagridview,我也没有绑定的数据源我在datagridview中也有一个按钮和三行。如果我的名为STATUS的列包含单词CLOSED我想隐藏整行,但我不想删除它只是隐藏它。
如果有人喜欢知道我在使用VB.net
我该怎么做?
答案 0 :(得分:1)
如果您正在使用绑定数据源,则需要捕获DataGridView.DataSourceChanged
事件。
看起来像这样。
Private Sub DataGridView1_DataSourceChanged(sender As Object, e As System.EventArgs) Handles DataGridView1.DataSourceChanged
For Each row As DataGridViewRow In DirectCast(sender, DataGridView).Rows
If row.Cells("status").Value.ToString.ToLower.Contains("Closed") Then
row.Visible = False
End If
Next
End Sub
如果您没有使用数据源,则需要捕获DataGridView.RowsAdded
事件。
看起来像这样。
Private Sub DataGridView1_RowsAdded(sender As Object, e As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAdded
Dim dg As DataGridView = sender
If dg.Columns.Count > 0 And e.RowIndex <> 0 Then
Dim theRow As DataGridViewRow = dg.Rows(e.RowIndex)
If theRow.Cells("status").Value.ToString.ToLower.Contains("closed") Then
theRow.Visible = False
End If
End If
End Sub