Ajout de données à un DataTable
Après avoir créé un objet DataTable et défini sa structure à l'aide de colonnes et de contraintes, vous pouvez ajouter de nouvelles lignes de données à la table. Pour ajouter une nouvelle ligne, déclarez une nouvelle variable comme type DataRow. Un nouvel objet DataRow est retourné lorsque vous appelez la méthode NewRow. Le DataTable créée ensuite l’objet DataRow en fonction de la structure de la table, telle que définie par l’objet DataColumnCollection.
L’exemple suivant montre comment créer une ligne en appelant la méthode NewRow.
Dim workRow As DataRow = workTable.NewRow()
DataRow workRow = workTable.NewRow();
Vous pouvez ensuite manipuler la ligne ajoutée en utilisant un index ou le nom de colonne, comme le montre l'exemple suivant.
workRow("CustLName") = "Smith"
workRow(1) = "Smith"
workRow["CustLName"] = "Smith";
workRow[1] = "Smith";
Une fois que les données ont été insérées dans la nouvelle ligne, la méthode Add est utilisée pour ajouter la ligne à l’objet DataRowCollection, comme dans le code suivant.
workTable.Rows.Add(workRow)
workTable.Rows.Add(workRow);
Vous pouvez également appeler la méthode Add pour ajouter une nouvelle ligne en passant un tableau de valeurs, de type Object, comme le montre l’exemple suivant.
workTable.Rows.Add(new Object() {1, "Smith"})
workTable.Rows.Add(new Object[] {1, "Smith"});
Le passage d’un tableau de valeurs, de type Object, à la méthode Add crée une ligne dans la table et attribue à ses valeurs de colonnes les valeurs du tableau d’objet. Notez que les valeurs du tableau correspondent de façon séquentielle aux colonnes, en fonction de leur ordre d'apparition dans la table.
L’exemple suivant ajoute 10 lignes à la nouvelle table Customers.
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);
}