miércoles, 15 de abril de 2009

Copia de datos de un datatable a un nuevo datatable (con filtro de selección)

Cuando es necesario copiar los datos de un datatable a otro aplicando un filto de selección, podemos usar el siguiente código:

// Hacemos una copia de la estructura de la tabla en una nueva tabla
DataTable _dtNueva = ((DataTable) _dtAnterior.Clone());
// En un arreglo de elementos de tipo DataRow
// vacio el resultado de aplicarle un select a la tabla anterior
DataRow[] _drArreglo = ((DataTable)_dtAnterior).Select("campo is null") ;
//Recorro los elementos del arreglo
for (int _linea = 0; _linea < _drArreglo.Length; _linea++)
{
   // Cada elemento del arreglo lo agrego en el datatable nuevo
   _dt.Rows.Add(_drArreglo[_linea].ItemArray);
}


Listo, con eso el datatable nuevo contiene solo los elementos del datatable anterior que cumplen con la condición expresada en el método select.

1 comentario:

Eduard Rafael dijo...

Buena esa compa, ese bloke de codigo me ha sacado de apuros.

Búsqueda