web-dev-qa-db-fra.com

Ajout de valeurs à des cellules DataTable spécifiques

Je me demande s'il est possible d'ajouter des valeurs à des cellules DataTable spécifiques?

Supposons que j'ai un dataTable existant et que j'ajoute une nouvelle colonne. Comment puis-je ajouter des lignes à la nouvelle colonne sans remplacer les lignes des colonnes existantes?

Autant que je sache, il n'y a pas de méthode pour ajouter des cellules spécifiques (à moins que je ne me trompe).

  dt.Rows.Add(a, b, c, d)

où a, b, c et d sont des valeurs de chaîne. Donc, si je veux juste ajouter à la colonne d? 

Toute aide serait appréciée. 

18
Winz

S'il s'agissait d'une toute nouvelle ligne pour laquelle vous ne souhaitiez définir qu'une seule valeur, vous devrez ajouter la ligne entière, puis définir la valeur individuelle:

DataRow dr = dt.NewRow();
dr[3].Value = "Some Value";
dt.Rows.Add(dr);

Sinon, vous pouvez trouver la ligne existante et définir la valeur de la cellule

DataRow dr = dt.Rows[theRowNumber];
dr[3] = "New Value";
20
pinkfloydx33

Essaye ça:

dt.Rows[RowNumber]["ColumnName"] = "Your value"

Par exemple: si vous voulez ajouter la valeur 5 (numéro 5) à la 1ère ligne et le nom de colonne "index"

dt.Rows[0]["index"] = 5;

Je crois que la ligne DataTable commence par 0

6
Teekai

Si quelqu'un cherche une syntaxe correcte mise à jour pour cela, essayez ce qui suit:

Example:
dg.Rows[0].Cells[6].Value = "test";
0
MX313

Vous voulez dire que vous voulez ajouter une nouvelle ligne et ne placer des données que dans une certaine colonne? Essayez ce qui suit:

var row = dataTable.NewRow();
row[myColumn].Value = "my new value";
dataTable.Add(row);

Comme il s'agit d'une donnée table , il y aura toujours des données de quelque sorte que ce soit dans chaque colonne. Il pourrait simplement s'agir de DBNull.Value au lieu du type de données que vous imaginez être.

0
lc.

Je pense que vous ne pouvez pas faire cela mais vous pouvez au moins le mettre à jour. Afin de modifier une ligne existante dans un DataTable, vous devez localiser le DataRow que vous souhaitez modifier, puis affecter les valeurs mises à jour aux colonnes souhaitées.

Exemple,

DataSet1.Tables(0).Rows(4).Item(0) = "Updated Company Name"
DataSet1.Tables(0).Rows(4).Item(1) = "Seattle"

SOURCE ICI

0
Pedigree