DataTableのデータ設定について

タグの編集
投稿者 大池  (社会人) 投稿日時 2010/6/6 16:25:49
いつもお世話になりまして感謝しています。
XPでVB2008を勉強しています。

Dim dt As New DataTable
においいてデータを設定する場合に
dt.Rows.Add(1,2,3,4,5)
で出来ましたが、これをFor文を使って出来ないものでしょうか?
また、配列に入っているデータを設定する場合にはどのようにするのでしょうか?

ご指導のほどよろしくお願いいたします。
投稿者 るきお  (社会人) 投稿日時 2010/6/6 17:27:31
こんにちは。

>で出来ましたが、
その場合は実際のプログラムも一緒に投稿してください。
ご存じと思いますが同じことをやるのにもいろいろな方法があり、大池さんがどのような方法をとっているのかいまいちわかりません。

推測でお答えします。
たとえば、次のようにするとFor文で行の値をセットできます。

  
Dim dt As New DataTable
dt.Columns.Add("Column1"GetType(Integer))
dt.Columns.Add("Column2"GetType(Integer))
dt.Columns.Add("Column3"GetType(Integer))
dt.Columns.Add("Column4"GetType(Integer))
dt.Columns.Add("Column5"GetType(Integer))

Dim row As DataRow = dt.NewRow
For Each col In dt.Columns
    Dim i As Integer
    i += 1
    row(col) = i
Next

dt.Rows.Add(row)
投稿者 大池  (社会人) 投稿日時 2010/6/6 20:58:01
るきお様

早速のご指導ありがとうございます。
お手数をおかけして申し訳ありません。

                Dim dd As New ArrayList
                dd.Add("月日")
                dd.Add("-")
                For i As Integer = 1 To 5
                    dd.Add(i.ToString)
                Next
このddをdtにセットしようとしていました。
ご指導のとおり次のようにしてセットすることができました。
                Dim row As DataRow = dt.NewRow
                Dim j As Integer = 0
                For Each col In dt.Columns
                    row(col) = dd.Item(j)
                    j += 1
                Next
                dt.Rows.Add(row)
ありがとうございました。
今後ともよろしくお願いいたします。