【问题标题】:How to keep the data after removing the datasouce from a datagridview in vb.net?从 vb.net 中的 datagridview 中删除数据源后如何保留数据?
【发布时间】:2013-02-26 03:11:30
【问题描述】:

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

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

这是因为

grid1.DataSource = myDataTable
or
grid1.DataSource = myDataSet

但是当我这样做时

grid1.DataSource = Nothing

grid1 中的所有行都被删除。

有没有办法将数据网格视图从其数据源中分离出来但保留行?

【问题讨论】:

    标签: vb.net datagridview


    【解决方案1】:

    我可以想到一个解决方案,在其中我将添加另一个未绑定的 DataGridView (grid3),
    以编程方式将绑定的 datagridview (grid1) 的内容复制到 grid3
    然后从那里操作它。

    【讨论】:

    • 它正在工作。虽然这只是一种解决方法,但如果有人知道如何解决这个问题而不是这个。请这样做,谢谢。
    【解决方案2】:

    这个我没试过,但是看看Copy方法:

    grid1.DataSource = myDataTable.Copy
    

    MSDN 说 “复制此 DataTable 的结构和数据。” 可能是复制它也会解除绑定。

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2016-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-09
        相关资源
        最近更新 更多