0

私はVB.netが初めてです。2 つの datagridviews を結合したいのですが、これら 2 つのデータを CSV ファイルから取得します。たとえば、Datagridview1 があります。

  Dim sr As System.IO.StreamReader = Nothing
    Dim dt As New DataTable

    Try
        readFileName = "LNU010F" & "_" & dateParam.ToString("MM-dd-yyyy") & ".csv"
        sr = New System.IO.StreamReader("C:\Documents and Settings\ucpb\Desktop\Sample CSV data\" + readFileName)
        Dim newline() As String = sr.ReadLine.Split("|"c)
        dt.Columns.AddRange({New DataColumn(newline(11)), New DataColumn(newline(48))})

        While (Not sr.EndOfStream)
            newline = sr.ReadLine.Split("|"c)
            Dim newrow As DataRow = dt.NewRow
            newrow.ItemArray = {newline(11), newline(48)}                
            dt.Rows.Add(newrow)
        End While

        DataGridViewCSV1.DataSource = dt

これは、最初のコードから取得したものです。 http://i.stack.imgur.com/QaJZ1.png

私は Datagridview2 を持っています:

 Dim delimeter As String = txtDelimiter.Text
    Dim fileReader As System.IO.StreamReader = Nothing
    Dim dt As New DataTable

    Try
        fileName = txtName.Text & "_" & dateParam.ToString("MM-dd-yyyy")
        readFileName = txtName.Text & "_" & dateParam.ToString("MM-dd-yyyy") & ".csv"
        fileReader = New System.IO.StreamReader("C:\Documents and Settings\ucpb\Desktop\Sample CSV data\" + readFileName)

        Dim readColumn As String = fileReader.ReadLine
        Dim splitColumn As String() = readColumn.Split(delimeter)

        For Each arr As String In splitColumn
            dt.Columns.Add(arr)
        Next

        Dim readRow As String = fileReader.ReadLine
        Dim splitRow As String()

        While readRow <> ""
            splitRow = readRow.Split(delimeter)

            dt.Rows.Add(splitRow)
            readRow = fileReader.ReadLine()
        End While

        DataGridViewCSV2.DataSource = dt

これは、2 番目のコードから取得したものです。 http://i.stack.imgur.com/r0SmT.png

私が欲しいのは、Datagridview2 の最後にUID (Datagridview1) を追加することです。Acctnoがキーです。データが datagridview2 に適切に配置されていないため、Datagridview2 は最初の datagridview と同じ UID を持つ必要があります。どんな答えでもいただければ幸いです。ありがとうございました。

4

0 に答える 0