在vb.net中从datagridview中删除datasouce后,如何保留数据?

在vb.net中从datagridview中删除datasouce后,如何保留数据?,vb.net,datagridview,Vb.net,Datagridview,我正在通过DataTable或DataSet填充DataGridView(grid1)。 我可以删除一组选定的行,然后将它们添加到另一个未绑定的DataGridView(grid2)。 当我从grid2获取一行,然后将其添加到grid1时,问题就出现了 无法以编程方式将行添加到DataGridView的行中 控件被数据绑定时的集合 这是因为 grid1.DataSource = myDataTable or grid1.DataSource = myDataSet 但当我这么做的时候 grid

我正在通过DataTable或DataSet填充DataGridView(grid1)。
我可以删除一组选定的行,然后将它们添加到另一个未绑定的DataGridView(grid2)。
当我从grid2获取一行,然后将其添加到grid1时,问题就出现了

无法以编程方式将行添加到DataGridView的行中 控件被数据绑定时的集合

这是因为

grid1.DataSource = myDataTable
or
grid1.DataSource = myDataSet
但当我这么做的时候

grid1.DataSource = Nothing
将删除grid1中的所有行


是否要将datagridview与其数据源分离,但保留行?

我可以想出一个解决方案,在其中添加另一个未绑定的datagridview(grid3),
以编程方式将绑定的datagridview(grid1)的内容复制到grid3

然后从那里操作它。

我还没有尝试过这个,但是看看复制方法:

grid1.DataSource = myDataTable.Copy
MSDN说“复制此数据表的结构和数据。”
这可能是因为复制它也会解除它的绑定。

如果您有一个数据绑定的网格,您可能根本不应该玩网格中的行。更改设置为数据源的表,网格将反映新行

dim row as datarow = myDataTable.newrow()
row.item("Column1") = "new value"
myDataTable.rows.add(row)

现在,新行将显示在数据绑定网格上。您也可以通过从数据源数据表中删除网格中的行来删除网格中的行。

它现在正在工作。虽然这只是一个解决办法,但如果有人知道如何解决这个问题,那就比这一个好。请这样做,谢谢。