datos - leer datatable c#
Copie las filas de una tabla de datos a otra tabla de datos? (8)
Como resultado de las otras publicaciones, esta es la cantidad más corta que pude obtener:
DataTable destTable = sourceTable.Clone();
sourceTable.AsEnumerable().Where(row => /* condition */ ).ToList().ForEach(row => destTable.ImportRow(row));
¿Cómo puedo copiar filas específicas de DataTable a otro Datable en c #? Habrá más de una fila.
Compatible con: 4, 3.5 SP1, ahora puede simplemente llamar a un método en el objeto.
DataTable dataTable2 = dataTable1.Copy()
Copie las filas especificadas de la tabla a otra
// 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);
}
}
Mira esto, te puede gustar (previamente, por favor, clona table1 to table2):
table1.AsEnumerable().Take(recodCount).CopyToDataTable(table2,LoadOption.OverwriteChanges);
O:
table1.AsEnumerable().Where ( yourcondition ) .CopyToDataTable(table2,LoadOption.OverwriteChanges);
Prueba esto
String matchString="ID0001"//assuming we have to find rows having key=ID0001
DataTable dtTarget = new DataTable();
dtTarget = dtSource.Clone();
DataRow[] rowsToCopy;
rowsToCopy = dtSource.Select("key=''" + matchString + "''");
foreach (DataRow temp in rowsToCopy)
{
dtTarget.ImportRow(temp);
}
debajo de la muestra sería la forma más rápida de copiar una fila. cada celda se copia en función del nombre de la columna. en caso de que no necesite una celda específica para copiar, intente capturar o agregue si. si va a copiar más de 1 fila, luego repita el siguiente código.
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]; cambie el índice 0 a su índice de fila especificado o puede usar una variable si va a repetir o si va a ser lógico
private void CopyDataTable(DataTable table){
// Create an object variable for the copy.
DataTable copyDataTable;
copyDataTable = table.Copy();
// Insert code to work with the copy.
}
foreach (DataRow dr in dataTable1.Rows) {
if (/* some condition */)
dataTable2.Rows.Add(dr.ItemArray);
}
El ejemplo anterior supone que dataTable1
y dataTable2
tienen el mismo número, tipo y orden de columnas.