Copier des lignes d’un Datable vers un autre DataTable?

Comment puis-je copier des lignes spécifiques de DataTable vers une autre firebase database dans c #? Il y aura plus d’une rangée.

foreach (DataRow dr in dataTable1.Rows) { if (/* some condition */) dataTable2.Rows.Add(dr.ItemArray); } 

L’exemple ci-dessus suppose que dataTable1 et dataTable2 ont le même nombre, le même type et le même ordre de colonnes.

Copier les lignes spécifiées de la table vers une autre

 // here dttablenew is a new Table and dttableOld is table Which having the data dttableNew = dttableOld.Clone(); foreach (DataRow drtableOld in dttableOld.Rows) { if (/*put some Condition */) { dtTableNew.ImportRow(drtableOld); } } 

Essaye ça

  Ssortingng matchSsortingng="ID0001"//assuming we have to find rows having key=ID0001 DataTable dtTarget = new DataTable(); dtTarget = dtSource.Clone(); DataRow[] rowsToCopy; rowsToCopy = dtSource.Select("key='" + matchSsortingng + "'"); foreach (DataRow temp in rowsToCopy) { dtTarget.ImportRow(temp); } 

Vérifiez ceci, vous pouvez l’aimer (auparavant, s’il vous plaît, clone la table1 à la table2):

 table1.AsEnumerable().Take(recodCount).CopyToDataTable(table2,LoadOption.OverwriteChanges); 

Ou:

 table1.AsEnumerable().Where ( yourcondition ) .CopyToDataTable(table2,LoadOption.OverwriteChanges); 

Pris en charge dans: 4, 3.5 SP1, vous pouvez maintenant simplement appeler une méthode sur l’object.

 DataTable dataTable2 = dataTable1.Copy() 

À la suite des autres messages, c’est le plus court possible:

 DataTable destTable = sourceTable.Clone(); sourceTable.AsEnumerable().Where(row => /* condition */ ).ToList().ForEach(row => destTable.ImportRow(row)); 

l’échantillon ci-dessous serait le moyen le plus rapide de copier une ligne. chaque cellule est copiée en fonction du nom de la colonne. Si vous n’avez pas besoin d’une cellule spécifique à copier, essayez-la ou ajoutez-la. Si vous allez copier plus d’une ligne, bouclez le code ci-dessous.

 DataRow dr = dataset1.Tables[0].NewRow(); for (int i = 0; i < dataset1.Tables[1].Columns.Count; i++) { dr[dataset1.Tables[1].Columns[i].ColumnName] = dataset1.Tables[1].Rows[0][i]; } datasetReport.Tables[0].Rows.Add(dr); 

dataset1.Tables [1] .Rows [ 0 ] [i]; changer l'index 0 à votre index de ligne spécifié ou vous pouvez utiliser une variable si vous allez en boucle ou si elle va être logique

  private void CopyDataTable(DataTable table){ // Create an object variable for the copy. DataTable copyDataTable; copyDataTable = table.Copy(); // Insert code to work with the copy. }