Enunciado: Quiero leer un DataTable, seleccionar un conjunto de filas y devolverlo a la función que me ha invocado.
Primera aproximación. Obtengo una colección de filas con un .select() y las .add en un nuevo DataTable. MECK!! Error, eso no se puede hacer sin liarte con clonaciones y demás gaitas.
Segunda aproximación. Obtengo un DataView del DataTable filtrado en la instanciación por medio del rowFilter. MECK!! Me obliga a cambiar todo el código que utilice este método y que espere un DataTable.
Aproximación y resolución:
///
/// Devuelve el DataTable filtrado obtenido de la fuente de datos.
///
///
public DataTable leeTablaFiltrada()
{
DataTable tabla = new DataTable();
tabla = leeTabla(); // Función que recupera el DataTable de la fuente de datos.
DataView vista = new DataView(tabla, "
// Tener cuidado de si la condicion de filtro es un string ponerlo entre comillas simples
return vista.ToTable(); // Este es el "milagro"
}
Moola!!
