Hinzufügen von Daten zu einer "DataTable"

Nachdem Sie eine DataTable erstellt und deren Struktur mithilfe von Spalten und Einschränkungen definiert haben, können Sie der Tabelle neue Datenzeilen hinzufügen. Dazu deklarieren Sie eine neue Variable als DataRow-Typ. Ein neues DataRow-Objekt wird beim Aufrufen der NewRow-Methode zurückgegeben. In der DataTable wird anschließend das DataRow-Objekt anhand der durch die DataColumnCollection definierten Tabellenstruktur erstellt.

Das folgende Beispiel veranschaulicht, wie durch Aufrufen der NewRow-Methode eine neue Zeile erstellt wird.

Dim workRow As DataRow = workTable.NewRow()  
DataRow workRow = workTable.NewRow();  

Anschließend können Sie die neu hinzugefügte Zeile mithilfe eines Indexes oder des Spaltennamens bearbeiten, wie im folgenden Beispiel gezeigt.

workRow("CustLName") = "Smith"  
workRow(1) = "Smith"  
workRow["CustLName"] = "Smith";  
workRow[1] = "Smith";  

Nach dem Einfügen von Daten in die neue Zeile wird diese mithilfe der Add-Methode der DataRowCollection hinzugefügt, wie im folgenden Code gezeigt.

workTable.Rows.Add(workRow)  
workTable.Rows.Add(workRow);  

Sie können die Add-Methode auch aufrufen, um eine neue Zeile hinzuzufügen, indem Sie ein Array aus Werten als Object-Typ übergeben, wie das folgende Beispiel zeigt.

workTable.Rows.Add(new Object() {1, "Smith"})  
workTable.Rows.Add(new Object[] {1, "Smith"});  

Durch Übergeben eines Arrays aus Werten als Object an die Add-Methode wird eine neue Zeile innerhalb der Tabelle erstellt, und als Spaltenwerte werden die Werte in dem Objektarray festgelegt. Beachten Sie, dass Werte in dem Array nacheinander den Spalten zugeordnet werden, und zwar in der Reihenfolge, in der sie in der Tabelle vorkommen.

Im folgenden Beispiel werden der neu erstellten Tabelle Customers zehn Zeilen hinzugefügt.

Dim workRow As DataRow  
Dim i As Integer  
  
For i = 0 To 9  
  workRow = workTable.NewRow()  
  workRow(0) = i  
  workRow(1) = "CustName" & I.ToString()  
  workTable.Rows.Add(workRow)  
Next  
DataRow workRow;  
  
for (int i = 0; i <= 9; i++)
{  
  workRow = workTable.NewRow();  
  workRow[0] = i;  
  workRow[1] = "CustName" + i.ToString();  
  workTable.Rows.Add(workRow);  
}  

Siehe auch