如何将1个DataGridView中的所有记录传输到另一个DataGridView?

时间:2012-05-09 07:53:05

标签: vb.net datagridview

我有1 DataGridView,我想将所有记录转移到另一个DataGridView。我怎么可能这样做?

dgvCourseList - 1st datagridview
dgvCourseHandled - 2nd datagridview

这是我将1条记录转移到另一条DataGridView的代码:

Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsert.Click
    If (chckCourse(dgvCourselist.SelectedCells.Item(0).Value)) = True And (chckDup(dgvCourselist.SelectedCells.Item(0).Value)) = False Then
        dgvCoursesHandled.Rows.Add(dgvCourselist.SelectedCells.Item(0).Value)
    End If
End Sub

3 个答案:

答案 0 :(得分:2)

Private Sub btnInsertAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsertAll.Click

        If (chckCourse(dgvCourselist.SelectedCells.Item(0).Value)) = True And (chckDup(dgvCourselist.SelectedCells.Item(0).Value)) = False Then
            For i As Integer = 0 To Me.dgvCourselist.Rows.Count - 1
                dgvCoursesHandled.Rows.Add(dgvCourselist.Rows(i).Cells(0).Value)
            Next

        End If
    End Sub

答案 1 :(得分:1)

你几乎走在正确的轨道上。

if [check if row is selected from the dgvCourselist]


  dgvCourseHandled.Rows.Add(dgvCourseList.Cells("columnname").Value, _
                             repeat until all column in dgvCourseHandled are satisfied)
  1. 确定dgvcoursehandled中的列数和列名称。提示:如果您没有指定列名,请执行此操作,如果您有很多列,“magic no”将无法帮助您调试内容。 例如dgvCourseList.Cells(“columnname”)。Value
  2. 识别dgvcourselist中将传递给dgvcoursehandled的所有列
  3. 当您确定所有这些时,请遵循上面的伪代码。

答案 2 :(得分:0)

也可以试试这个。

首先复制列:

For Each col As DataGridViewColumn In DataGridView1.Columns
        DataGridView2.Columns.Add(DirectCast(col.Clone, DataGridViewColumn))
Next

然后是数据

For Each row As DataGridViewRow In DataGridView1.Rows
    DataGridViewRow2.Rows.Add(row.Cells.Cast(Of DataGridViewCell).Select(Function(c) c.Value).ToArray)
Next

来源:http://www.vbforums.com/showthread.php?678009-Copying-rows-and-columns-from-one-datagridview-to-another