2009-08-26 14 views
7

Wenn ich eine DataTable habe und eine neue Zeile erstellen möchte, rufe ich zuerst DataTable.NewRow(), die eine DataRow zurückgibt. Diese Zeile enthält dann das Schema der Tabelle, und ich kann den Wert jedes Felds in der Zeile festlegen. An dieser Stelle "weiß" die Tabelle über die Zeile, oder passiert das nur, nachdem ich DataTable.Rows.Add(DataRow row) aufgerufen habe?Kann ich dieselbe DataRow mehrmals zu einer DataTable hinzufügen?

Wenn ich DataTable.Rows.Add() mehr als einmal aufrufen, sind doppelte Datensätze in der Datentabelle mit doppelten Werten erstellt?

Der Grund warum ich frage ist, ich versuche eine rekursive Funktion zu schreiben, die eine Baumstruktur durchlaufen und eine DataTable mit Werten füllen wird. So habe ich Situationen, in denen Zeilen für jedes Kind erstellt werden, die Spalten haben, die alle die gleichen Werte haben, weil sie vom Eltern stammen.

Also war meine Idee, eine DataRow mit den Elterninformationen an jedes Kind zu übergeben. Das Kind fügt seine Informationen hinzu und fügt dann die Zeile zur Tabelle hinzu. Aber ich versuche herauszufinden, ob ich für jedes Kind DataTable.NewRow() aufrufen muss, oder ob automatisch neue Zeilen erstellt werden, wenn ich dieselbe Zeile mehrmals hinzufüge.

+0

Wow - vor 10 Stunden gefragt, und zeigte bereits in Google, wenn ich für eine ähnliche Sache ging suchen. Vielen Dank! – Jeffrey

Antwort

14

Nein, aber es ist einfach eine Zeile zu kopieren, so dass Sie bekommen können Sie, was Sie wollen (nimmt die vorhandene Zeile in einer Variablen namens existingRow):

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

Nein, es wird eine Ausnahme vom Typ System.ArgumentException generiert.

+0

Gibt es eine einfache Möglichkeit, eine Duplicate DataRow mit den gleichen Werten zu erstellen? –

-1

Ich empfehle Ihnen, die Daten in einem Array setzen und fügen Sie dann die Daten in die Datentabelle z

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

newdatarow generiert Fehler Ausnahme

Verwandte Themen