4

我是 vb.net 的新用户,当用户右键单击上下文菜单并选择隐藏时需要隐藏一行。我已经用谷歌搜索了这个,但还没有找到一种方法来做到这一点。

目前,当用户单击网格中的条目时,该值会输入到文本框中,这很好。我需要做的是隐藏用户右键单击的条目并隐藏选择。由于我是新手,我发现很难编写这个代码,因为我刚刚完成了我的第一门基础课程。任何帮助将不胜感激,或者如果您需要更多代码,请询问。

Dim value As Object = UserDataGridView.Rows(e.RowIndex).Cells(0).Value

txtCustomerActive.Text = CType(value, String)

Private Sub HideToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles pnlContextMenuStrip1.ItemClicked
        'Get the text of the item that was clicked on.
        'Dim text As String = txtCustomerActive.Text
        Try

            'txtCustomerActive.Visible = False
            pnlContextMenuStrip1.Visible = False
            MessageBox.Show(txtCustomerActive.Text)

        Catch ex As Exception

            MessageBox.Show(ex.Message)

        End Try

    End Sub
4

2 回答 2

8

您可以Rows.Item()用来隐藏特定DataGridViewRow的,例如:

 If (UserDataGridView.Rows.Count > 0) Then
     For Each row As DataGridViewRow In UserDataGridView.SelectedRows
         UserDataGridView.Rows.Item(row.Index).Visible = False
     Next
 End If

我假设你在FullRowSelect这里使用。

如果您不使用,则FullRowSelect可以使用此替代代码,该代码可以同时捕获Cell被选中或被Row选中:

  If (UserDataGridView.SelectedRows.Count > 0) Then
     For Each row As DataGridViewRow In UserDataGridView.SelectedRows
         UserDataGridView.Rows.Item(row.Index).Visible = False
     Next
  ElseIf (UserDataGridView.SelectedCells.Count > 0) Then
     For Each cell As DataGridViewTextBoxCell In UserDataGridView.SelectedCells
         UserDataGridView.Rows.Item(cell.RowIndex).Visible = False
     Next
  End If

对于Unhide一切,让我们从 aButton Click你可以有这个:

 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    For Each row As DataGridViewRow In UserDataGridView.Rows
        If (row.Visible = False) Then
            UserDataGridView.Rows.Item(row.Index).Visible = True
        End If
    Next
 End Sub
于 2013-11-08T09:23:35.987 回答
0

据我所知,您不能为鼠标右键单击创建服务器端处理程序(就像您对 HideToolStripMenuItem_Click 所做的那样,它是 .NET 回发机制的一部分)。

但是,我相信这样的功能可以通过一些客户端 javascript 编程来完成。

希望这可以帮助!

于 2013-11-08T09:16:47.247 回答