如何在另一个内部复制DataGridView内容

时间:2013-07-18 13:48:43

标签: vb.net datagridview

我有一个DataGridView,说dgA。这包含一些信息,我需要在另一个DataGridView中复制dgB,只需点击按钮btn即可。

如何在Visual Basic中执行此操作?

2 个答案:

答案 0 :(得分:1)

您可以复制dgA的数据源(例如,作为DataTable),并将dgB绑定到它。您应该在2个网格上获得相同的数据源。

示例:

Dim dtSource As New DataTable
' Configure your source here...

' Bind first grid
    dgA.DataSource = dtSource
    dgA.DataBind()

' Use same data source for this grid...
    dgB.DataSource = dgA.DataSource
    dgB.DataBind()

然后,您可以更改.ASPX中网格的显示配置。您还可以使用会话,在不同的页面中使用。

答案 1 :(得分:1)

非数据绑定DataGridView

为什么不浏览DataGridView1 dgA )的每一行并将单元格值发送到DataGridView2 dgB )?

我在DataGridViews中添加了两列,因此请将此代码分别应用于datagridview列。

Private Sub CopyDgv1ToDgv2_Click(sender As System.Object, e As System.EventArgs) Handles CopyDgv1ToDgv2.Click
    For Each r As DataGridViewRow In dgA.Rows
        If r.IsNewRow Then Continue For

        'r.Cells(0).Value is the current row's first column, r.Cells(1).Value is the second column
        dgB.Rows.Add({r.Cells(0).Value, r.Cells(1).Value})
    Next
End Sub

这会遍历我的第一个DataGridView的每一行,并在我的第二个DataGridView中添加一行,其中包含第一个DataGridView中包含的值。


DataBoundDataGridView

如果数据绑定在DataGridViews上,那么您需要做的就是将数据源复制到另一个DataGridView,如下所示:

Private Sub CopyDgv1ToDgv2_Click(sender As System.Object, e As System.EventArgs) Handles CopyDgv1ToDgv2.Click
    dgB.DataSource = dgA.DataSource
End Sub