如何将数据从两个DataGridViews转换为第三个DataGridView?

时间:2014-12-24 08:35:19

标签: vb.net datagridview

我有一个Form有3个DataGridViews。这些DataGridviews不是DataBound。下面显示的是GridViews的列:

GridView01:

DPSNumber   DPSType StatusDateTime  CreatedBy   ChangedBy   CheckDuplicate

GridView02:

DPS #   Activity SubType    Group   Created By  Is Duplicate

我想PROGRAMATICALY显示GridView03中两个GridView的值,如下所示:

GridView03:

DPSNumber   DPSType StatusDateTime  ActivitySubType Group   Created By

我想使用GridView01的DPSNumber列作为GridView03的主列,并使用GridView01和GridView02中的值来填充其他列。

我使用Visual Basic .net作为编程语言。

感谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用数据表?

创建一个数据表,它结合了两个网格视图并在第三个网格视图中调用它。

示例:

Dim dt as New DataTable()
Dim dr as DataRow

                If dt.Columns.Count <= 0 Then
                    dt.Columns.Add(New System.Data.DataColumn("DPSNumber", GetType(UInteger)))
                    dt.Columns.Add(New System.Data.DataColumn("DPSType", GetType([String])))
                    dt.Columns.Add(New System.Data.DataColumn("StatusDateTime", GetType(UInteger)))
                    dt.Columns.Add(New System.Data.DataColumn("CreatedBy", GetType(UInteger)))
                     '... and so on

                End If

For i = 0 To GridView01.Rows.Count - 1
         dr = dt.NewRow()
         dr("DPSNumber") =  CheckNULLInt(GridView01.Rows(i).Item("DPSNumber"))
         dr("DPSType") =  CheckNULLInt(GridView01.Rows(i).Item("DPSType"))
         dt.Rows.Add(dr)
Next

最后,您的第三个Gridview将被称为

GridView03.DataSource = dt

CheckNullInt功能

Public Function CheckNULLInt(ByVal value As Object) As Integer
        If Not IsDBNull(value) Then
            Return value
        Else
            Return 0
        End If
    End Function