- PR -

DataTable型に新しくレコード追加

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-09-17 17:10
VB.NETでWeb開発をしています。
func1はDataTable型を返す関数です。
DT,DT1,DT2はカラム名が全て同じです。レコード数のみ異なります。
DT1,DT2をDTに連結したいのですが、下記の様に1カラムごと行わないで
1行ごとにデータを連結する方法を教えてください。

Dim DT as Datatable = func1()
Dim DT1 as Datatable = func1()
Dim DT2 as Datatable = func1()

'データ編集
Dim dr As DataRow

'新しい行の作成
dr = DT.NewRow

'この部分を一行でやりたい!
dr("A") = "aa"
dr("B") = "ss"
dr("C") = "ff"

DT.Rows.Add(dr)
あすかぜ
常連さん
会議室デビュー日: 2003/04/22
投稿数: 21
投稿日時: 2003-09-17 21:32
やってみてないので間違ってるかもしれませんが(^^;
dr.ItemArray へデータ配列を代入することはできないでしょうか?
dr.ItemArray = DT1.Rows[i].ItemArray
とか。
ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-09-17 23:16
DataRowCollectionのリファレンスを見てください。
Addメソッドの引数に配列が指定できます。
string[] dr = {"aa","ss","ff"};
DT.Rows.Add(dr);
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-09-18 10:15
ご教授してくださった皆様、ありがとうございました。
下記の方法で解決できました。

引用:

あすかぜさんの書き込み (2003-09-17 21:32) より:
やってみてないので間違ってるかもしれませんが
dr.ItemArray へデータ配列を代入することはできないでしょうか?
dr.ItemArray = DT1.Rows[i].ItemArray
とか。


Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2003-09-19 08:41
解決されたようなので、今更ながらですが、下記の方法もありますので紹介します。
この方法は、プロパティ設定、元の値、および現在の値を保持したまま、 DataRow を DataTable にコピーします。

DT.ImportRow(DT1.Rows(i))

以上

1

スキルアップ/キャリアアップ(JOB@IT)