我有form1
和form2
..
form1 :我有一个带按钮列的datagridview。当我单击任何行的按钮单元格时,相应的行值将传输到form2。这很好。
表单2 :通过使用setter和getter我得到了form1中的值,而我表示了表单2中文本框中的值,这很好。
我在表单2中有一个复选框。当我单击复选框时,我需要删除表单1中的datagrid视图中的行(当我单击按钮单元格时,其行值将转移到表单2。将从form1)中的datagrid视图中删除。
我该如何解决这个问题?
答案 0 :(得分:5)
将数据从Form1
传递到Form2
时,也会传递行索引。它可以帮助您轻松删除行。
标记Form1 DataGridView
的{{1}}或将其作为构造函数参数传递给public
,然后调用Form2
删除{{1}指定的索引处的行}}
答案 1 :(得分:3)
如果您知道如何从同一表单中删除网格视图中的记录,这很容易。
您可以采用与Stack Overflow问题 Updating the gridview in one form 的答案相同的方式。
作为事件参数,您可以传递记录ID。
您可以使用RemoveAt
方法从网格视图中删除记录。
DataGridView1.Rows.RemoveAt(deleteIndex);
但是,如果您共享数据源并从表单2中删除它,则需要再次绑定数据以从网格中删除。 (有关如何更新gridview,请参阅 How to: Implement Property Change Notification 。)
如果您在form1上直接从gridview中删除它,则无需再次绑定它。
答案 2 :(得分:1)
foreach (DataGridViewRow item in this.dataGridView1.SelectedRows)
{
dataGridView1.Rows.RemoveAt(item.Index);
}