我从 DataGridView 中删除行时遇到问题。我有客户的 DataGridView。当我单击行时,新表单打开(带有客户数据)。在此表单中,有一个“删除”按钮,其中单击 Sub 是此代码:
Form1.DataGridView1.Rows().RemoveAt(_personIndex)
问题是这段代码不起作用。我以与 datagridview 相同的形式尝试了此代码并且它有效。我将非常感谢您的帮助。
我从 DataGridView 中删除行时遇到问题。我有客户的 DataGridView。当我单击行时,新表单打开(带有客户数据)。在此表单中,有一个“删除”按钮,其中单击 Sub 是此代码:
Form1.DataGridView1.Rows().RemoveAt(_personIndex)
问题是这段代码不起作用。我以与 datagridview 相同的形式尝试了此代码并且它有效。我将非常感谢您的帮助。
只有在共享 DataGridView1 时,您访问 DataGridView1 的方式才有效。在您的客户端数据表单上,创建一个可以采用 DataGridViewRows 或 DataGridView 集合的构造函数,这样您就可以访问它。
您应该让加载客户信息的第二个表单触发一个事件并让您的主表单处理该事件。这样您就可以直接访问 datagridview。
为了做到这一点,你需要做四件事:
第二种形式的事件声明为:
Friend Event DeleteClient(ByRef rowID As Integer)
您必须声明在单击一行时启动的第二个表单withevents
:
Dim WithEvents secondForm As ClientForm
一个事件处理程序,它将捕获被删除的行并将其从数据网格视图中删除
Private Sub DeleteClient(ByRef rowID As Integer) Handles clientform.DeleteClient
DataGridViw1.Rows().RemoveAt(rowID)
End Sub
删除按钮的按钮单击事件中的 RaiseEvent 调用。
RaiseEvent DeleteClient(idOfRowToBeRemoved)
一旦一切就绪,每次单击删除按钮时,事件应该被触发并被调用辅助表单的表单捕获,并且应该删除该行。