【问题标题】:Deleting a row in a datagrid view when a button is clicked单击按钮时删除数据网格视图中的一行
【发布时间】:2015-05-08 00:53:19
【问题描述】:

我有一个form1form2 ..

form1:我有一个带有按钮列的 datagridview。当我单击任何行的按钮单元格时,相应的行值将被传输到 form2。效果很好。

Form 2:通过使用 setter 和 getter,我从 form1 中获取了值,并且我在 form 2 的文本框中表示了值,这很好。

我在表单 2 中有一个复选框。当我单击复选框时,我需要删除表单 1 中数据网格视图中的行(当我单击按钮单元格时,其行值被传输到表单 2。那行将从 form1) 中的数据网格视图中删除。

我该如何解决这个问题?

【问题讨论】:

  • 我不知道如何从另一个表单中删除 datagrid 视图中的一行 ....当我单击表单 2 中的复选框时,相应的行将从 form1 中的 datagrid 视图中删除..
  • Form2Form1 的所有者,对吧?您应该在Form1(在Form1.designer.cs 中)中设置DataGrid 访问修饰符public,以便从Form2 访问它。
  • 请告诉我如何从数据网格视图中删除记录...
  • 我可以访问数据网格视图行以进行删除吗...
  • 你想使用dataGridView.Rows.Remove()dataGridView.Rows.RemoveAt()

标签: c# .net winforms datagridview delete-row


【解决方案1】:

当您将数据从Form1 传递到Form2 时,还要传递行索引。它将帮助您轻松删除该行。

要么将Form1的DataGridView标记为public,要么将其作为构造函数参数传递给Form2,然后调用DataGridView1.Rows.RemoveAt(rowIndex);删除rowIndex指定的索引处的行。

【讨论】:

  • 非常感谢您的好答案...删除行后,我如何更新表格 1 中的数据网格视图,请您告诉任何想法...。
【解决方案2】:

如果您知道如何从同一表单的网格视图中删除记录,这很容易。

您可以按照 StackOverflow 问题的回答相同的方式进行操作Updating the gridview in one form

作为事件参数,您可以传递记录 ID。

您可以使用RemoveAt 方法从网格视图中删除记录。

DataGridView1.Rows.RemoveAt(deleteIndex);

但如果您共享数据源并将其从表单 2 中删除,则需要再次绑定数据才能从网格中删除。 (请参阅 How to: Implement Property Change Notification 了解如何更新 gridview。)

如果在form1上直接从gridview中删除,就不需要再绑定了。

【讨论】:

  • 非常感谢..我已经尝试过事件处理程序,但不幸的是这对我不起作用......而且我不知道如何以相同的形式删除记录......请提供任何替代解决方案。 ...
  • i dont know how to delete a record in same form it selfdataGridView.Rows.Remove() ?
  • @DSW 如何从 form2 更新数据网格视图,请您提出任何想法...
【解决方案3】:
foreach (DataGridViewRow item in this.dataGridView1.SelectedRows)
{
  dataGridView1.Rows.RemoveAt(item.Index);
}

【讨论】:

  • 考虑为您的答案提供解释
猜你喜欢
  • 1970-01-01
  • 2013-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
相关资源
最近更新 更多