繁体   English   中英

在VB.NET中将一个datagridview数据传输到另一个datagridview

[英]Transferring one datagridview data to another datagridview in VB.NET

问题:将多个行和列从一个datagridview(未绑定数据)移动到另一datagridview,然后显示另一种绑定了数据的表单的第二datagridview行。

开发平台:VB.NET 2008

问题说明:

  • 我在另一个表单的datagridview中有一些行和列,该表单现在是从现在连接到我的应用程序中的本地数据库填充的。
  • 在Update参数内的EncodingCompleteDataSet中发生错误,提示“错误1'EncodingCompleteDataSet”是一种类型,不能用作表达式。
  • 在以下代码中,我将在哪里插入anotherForm.Show()

发行代码:

Dim dr = DirectCast(DataGridViewX1.Rows(e.RowIndex).DataBoundItem, System.Data.DataRowView).Row
frmEncodeDatabase.EncodingCompleteDataSet.Tables("EncodingComplete").ImportRow(dr)
EncodingCompleteDataSetTableAdapters.EncodingCompleteTableAdapter.Update(EncodingCompleteDataSet, "EncodingComplete")

问候,CodingSource

编辑:对于杰森·福克纳

码:

For Each Col As DataGridViewColumn In DataGridViewX1.Columns
        frmEncodeDatabase.EncodingCompleteDataGridView.Columns.Add(DirectCast(Col.Clone, DataGridViewColumn))
    Next
    frmEncodeDatabase.EncodingCompleteDataGridView.Rows.Add(DataGridViewX1.Rows(0).Cells.Cast(Of DataGridViewCell).Select(Function(c) c.Value).ToArray)

您的代码(我稍作改动):

Dim table As DataTable = DirectCast(frmEncodeDatabase.EncodingCompleteDataGridView.DataSource, DataView).Table

    ' Add row 0 to the DataGridViewX1 grid to the table.
    ' This assumes the schema/column names are the same between the two.
    Dim addRow As DataRow = table.NewRow
    For Each Col As DataGridViewColumn In DataGridViewX1.Columns
        addRow(Col.Clone) = frmEncodeDatabase.EncodingCompleteDataGridView.Rows(0).Cells(Col.Clone).Value
    Next

    ' Add the copied row values to the table.
    ' Once we do this, it should appear in the EncodingCompleteDataGridView.
    table.Rows.Add(addRow)

但是我在table As DataTable = DirectCast(frmEncodeDatabase.EncodingCompleteDataGridView.DataSource, DataView).Table

未处理InvalidCastException:无法将类型为“ System.Windows.Forms.BindingSource”的对象转换为类型为“ System.Data.DataView”。

'This is your new DataGridView

 Dim grdNew As New DataGridView



'This adds the row to your newDataGridView

    For Each item In Me.DataGridView1.Rows

        grdNew.Rows.Add(item)

    Next

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM