2009-08-24 7 views
2

Hey tout besoin d'une petite aide pour trier une boucle pour cette table, ne peux pas sembler appliquer un exemple de travail au modèle, de toute façon ici ça va.Ajout d'une colonne d'un datatable à un autre

J'ai 2 datatables, chacune avec des données différentes et des valeurs différentes, la seule valeur commune est la date. La première table a tout ce que je veux dedans excepté une seule colonne de valeurs (de l'autre table) ainsi j'ai besoin de fusionner cette colonne sur la première table, pas toutes les autres données avec elle.

Donc, idéalement, je voudrais quelque chose qui ressemble à ceci:

DataTable tbl1; //Assume both are populated 
DataTable tbl2; 

tbl1.Columns.Add("newcolumnofdata") //Add a new column to the first table 

foreach (DataRow dr in tbl.Rows["newcolumnofdata"]) //Go through each row of this new column 
{ 
    tbl1.Rows.Add(tbl2.Rows["sourceofdata"]); //Add data into each row from tbl2's column. 
    tbl1.Columns["date"] = tbl2.Columns["date"]; //The date field being the same in both sources 
} 

Si quelqu'un peut aider wud apprécier, comme je dis que je juste besoin d'une colonne, je ne pas besoin d'avoir la l'ensemble de l'autre. À votre santé.

Répondre

6

si la deuxième table a déjà toutes les lignes, mais une seule colonne manque il devrait être suffisant pour faire quelque chose comme ça

DataTable tbl1; 
DataTable tbl2; 

tbl1.Columns.Add("newCol"); 

for(int i=0; i<tbl.Rows.Count;i++) 
{ 
    tbl1.Rows[i]["newcol"] = tbl2.Rows[i]["newCol"]; 
    tbl1.Rows[i]["date"] = tbl2.Rows[i]["date"]; 
} 
+0

Merci pour cela, fonctionne un régal. – markdigi

2

En supposant que la ligne compte correspondance et sont bien commandés, vous devriez juste être en mesure de le faire ...

for(int i = 0; i < tbl1.Rows.Count; i++) 
{ 
    tbl1.Rows[i]["newcolumnofdata"]= tbl2.Rows[i]["newcolumnofdata"]; 
} 

Je ne sais pas où l'affectation date vient, cependant.

Questions connexes