繁体   English   中英

从另一个表单中删除DataGridView的行

[英]Remove row of DataGridView from another form

我在从DataGridView中删除行时遇到问题。 我有带客户端的DataGridView。 当我单击行时,将打开新表格(带有客户数据)。 在此表单中,有一个“删除”按钮,其中单击“ Sub”是此代码:

Form1.DataGridView1.Rows().RemoveAt(_personIndex)

问题在于此代码无法正常工作。 我以与datagridview相同的形式尝试了此代码,并且有效。 谢谢您的帮助。

仅当共享DataGridView1时,您访问DataGridView1的方式才有效。 在您的客户端数据表单上,创建一个构造函数,该构造函数可以采用DataGridViewRows或DataGridView的集合,这样便可以对其进行访问。

您应该具有第二个表单,该表单在发生事件时加载客户信息,并由您的主表单处理该事件。 这样,您可以直接访问datagridview。

您将需要执行以下四项操作:

  1. 第二种形式的事件声明为:

    Friend Event DeleteClient(ByRef rowID As Integer)

  2. 单击行时启动的第二种形式必须使用withevents声明:

    Dim WithEvents secondForm As ClientForm

  3. 一个事件处理程序,它将捕获要删除的行并将其从datagrid视图中删除

     Private Sub DeleteClient(ByRef rowID As Integer) Handles clientform.DeleteClient DataGridViw1.Rows().RemoveAt(rowID) End Sub 
  4. 删除按钮的按钮单击事件中的RaiseEvent调用。

    RaiseEvent DeleteClient(idOfRowToBeRemoved)

每次单击“删除”按钮后,所有准备就绪,将触发该事件并被称为辅助表单的表单捕获,并应删除该行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM