我是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
答案 0 :(得分:6)
您可以使用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
Button 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
来说明这一切:
{{1}}
答案 1 :(得分:0)
据我所知,您无法为鼠标右键单击制作服务器端处理程序(就像您对HideToolStripMenuItem_Click所做的那样,它是.NET回发机制的一部分)。
但是,我相信这样的功能可以通过一些客户端的javascript程序来完成。
希望这有帮助!