2009-08-26 42 views
7

DataTableを持ち、新しい行を作成する場合は、最初にDataTable.NewRow()を呼び出してDataRowを返します。この行にはテーブルのスキーマがあり、行の各フィールドの値を設定できます。この時点で、テーブルは行について「認識」していますか?それとも、DataTable.Rows.Add(DataRow row)に電話した後にのみ発生しますか?同じDataRowをDataTableに複数回追加できますか?

私がDataTable.Rows.Add()を呼び出すと、重複した値を持つデータテーブルに重複した行が作成されます。

私が尋ねる理由は、ツリー構造を繰り返してDataTableに値を設定する再帰関数を作成しようとしていることです。だから私は、各子のために作成される行には、親から来るので、すべて同じ値を持つ列を持つ状況があります。

私の考えは、親の情報を持つDataRowを各子に渡すことでした。子はその情報を追加し、テーブルに行を追加します。しかし、私は各子供のためにDataTable.NewRow()を呼び出す必要があるか、または同じ行を複数回追加すると新しい行が自動的に作成されるかどうかを調べようとしています。

+0

例外エラーが発生します。ありがとう! – Jeffrey

答えて

14

ありませんが、それはあなたが欲しいものを手に入れることができるように行をコピーするのは簡単です(既存の行がexistingRowという変数にあると仮定):

var newRow = dataTable.NewRow(); 
newRow.ItemArray = existingRow.ItemArray; 
dataTable.Rows.Add(newRow); 
0

いいえ、System.ArgumentException型の例外が生成されます。

+0

同じ値を持つ重複データローを簡単に作成する方法はありますか? –

-1

私はあなたが、配列内のデータを置くことをお勧めしますデータテーブル にデータを追加します。 10時間前に尋ねた、と私は似たものを探して行ったときに既にGoogleに現れた -

yourDataTable.Rows.Add(data[0]........); 

newdatarowうわー

関連する問題