Aggiunta di dati a un oggetto DataTable

Una volta creata una DataTable e definita la relativa struttura tramite colonne e vincoli, è possibile aggiungere nuove righe di dati alla tabella. Per aggiungere una nuova riga, dichiarare una nuova variabile come tipo DataRow. Quando si chiama il metodo NewRow, viene restituito un nuovo oggetto DataRow. La DataTable consente quindi la creazione dell'oggetto DataRow sulla base della struttura della tabella, definita da DataColumnCollection.

Nell'esempio seguente viene illustrato come creare una nuova riga tramite una chiamata al metodo NewRow.

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

È quindi possibile modificare la riga appena aggiunta usando un indice o il nome della colonna, come illustrato nell'esempio seguente.

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

Una volta inseriti i dati nella nuova riga, il metodo Add viene usato per aggiungere la riga a DataRowCollection, come illustrato nel codice seguente.

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

È anche possibile chiamare il metodo Add per aggiungere una nuova riga passando una matrice di valori, tipizzata come Object, come illustrato nell'esempio seguente.

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

Il passaggio di una matrice di valori, tipizzata come Object, al metodo Add consente di creare una nuova riga all'interno della tabella e di impostarne i valori di colonna in base ai valori contenuti nella matrice dell'oggetto. Notare che i valori contenuti nella matrice vengono associati in modo sequenziale alle colonne, in base all'ordine in cui sono presenti nella tabella.

Nell'esempio seguente vengono aggiunte dieci righe alla tabella Customers appena creata.

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);  
}  

Vedi anche