首页 > 解决方案 > vb.net Datagrid 值到另一个数据网格

问题描述

大家好,我在使用 vb.net 将 datagrid 值传递到另一个 datagrid 时遇到问题。因为 youtube 上的大多数教程在 datagrid 中的行上都有固定值。我想要在数据库中获取的那个值,然后将其传递给 Datagrid1,然后传递给 Datagrid 2按钮点击。非常感谢

表单加载上的代码如下所示:

    Me.DataGridView1.columns.Add("1","1")

Me.DataGridView1.columns.Add("2","1")
Me.DataGridView1.columns.Add("3","3")
Me.DataGridView2.columns.Add("1","1")
Me.DataGridView2.columns.Add("2","1")

并在传递值的按钮上:

dim dr as  new System.Windows.Forms.datagridviewrow 
for each dr In me.datagridview1.selectedRows
  Me.DatagridView2.rows.Add(dr.cells(0).value,dr.cells(1).value,dr.cells(2).value....and so on)

标签: vb.netdatagridview

解决方案


    Dim sourceGrid As DataGridView = Me.DataGridView1
    Dim targetGrid As DataGridView = Me.DataGridView2
    Dim targetRows = New List(Of DataGridViewRow)
    For Each sourceRow As DataGridViewRow In sourceGrid.Rows
        If (Not sourceRow.IsNewRow) Then
            Dim targetRow = CType(sourceRow.Clone(), DataGridViewRow)
            For Each cell As DataGridViewCell In sourceRow.Cells
                targetRow.Cells(cell.ColumnIndex).Value = cell.Value
            Next
            targetRows.Add(targetRow)
        End If
    Next
    targetGrid.Columns.Clear()
    For Each column As DataGridViewColumn In sourceGrid.Columns
        targetGrid.Columns.Add(CType(column.Clone(), DataGridViewColumn))
    Next
    targetGrid.Rows.AddRange(targetRows.ToArray())

推荐阅读