2012-04-07 62 views
1

こんにちは私はDataTableから別の行にコピーしようとしていますが、私はほとんどどこでも見えましたが、 ImportRowを使用していても、新しいDataTableは空です。DataTableから別のDataTableへのImportRowはまだ空です。VB.NET

は、ここで私が見つけ似た答えの一つだとそれはまだ!:

Dim newTable As New DataTable 
     Dim dsFrom As New DataTable 

     For Each DBShoes In list 
      Dim iShoeID As Integer 
      iShoeID = DBShoes.sShoes_ID 
      dsFrom = DBShoes.GetFullShoeDetails(iShoeID) 
      For Each dr As DataRow In dsFrom.Rows 
       newTable.Rows.Add(dr.ItemArray) 
      Next 
     Next 
     GridView1.DataSource = newTable 
     GridView1.DataBind() 

エラーが働いていない:入力配列は、この表の列数よりも長いです。

ここでクラッシュしませんが、何ものDataTableに追加されていないインポートです:新しいDataTableのように、新しいDataTableを 点心dsFromとして 薄暗いNEWTABLE私は、フォームを作成している

 For Each DBShoes In list 
      Dim iShoeID As Integer 
      iShoeID = DBShoes.sShoes_ID 
      dsFrom = DBShoes.GetFullShoeDetails(iShoeID) 
      For Each dr As DataRow In dsFrom.Rows 
       newTable.ImportRow(dr) 
      Next 
     Next 
     GridView1.DataSource = newTable 
     GridView1.DataBind() 

    Else 

おかげ

答えて

4

は、その上に2つのDataGridViewコントロールがあります。ここで は、フォームのコードです:

Public Class Form1 

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    ' create table with single column 
    Dim dt1 As New DataTable 
    dt1.Columns.Add("Number", GetType(Integer)) 

    ' create another table with single column 
    Dim dt2 As New DataTable 
    dt2.Columns.Add("Number", GetType(Integer)) 

    ' fill first table with single row 
    Dim r As DataRow = dt1.NewRow() 
    r.Item(0) = 1 
    dt1.Rows.Add(r) 

    ' import all rows of first table into second table 
    For Each row In dt1.Rows 
     dt2.ImportRow(row) 
    Next 

    ' show tables 
    DataGridView1.DataSource = dt1 
    DataGridView2.DataSource = dt2 
End Sub 
End Class 
+2

おかげで、すべて私がnewTable.Columns.Addが欠落していた( "sShoes_ID"、メソッドGetType(整数)) – Dav