In questa versione del framework sento molto la mancanza di poter avere una DataTable dalla dataview dopo averla Filtrata o aver applicato il sorting.
Attualmente l'unica via(almeno quella che conosco) è clonare il datatable ciclare sulle righe del dataview ed eseguire L'importRow
Es.
DataView dv = new DataView(table1);
dv.RowFilter = "Citta='Roma'";
DataTable tableClone= new DataTable();
tableClone = table1.Clone();
foreach(DataRowView rowView in dv)
{
tableClone.ImportRow(rowView.Row);
}
Ho cercato molto ma non ho trovato nessuna via anche perchè dataview.Table ritorna la datatable di partenza.
Fortunatamente mi viene in aiuto ADO.NET 2.0
Infatti nella dataview è stato aggiunto un nuovo metodo ToTable che crea un nuovo DataTable partendo dal dataview, inoltre questo metodo a diversi overload dove come parametri ci sono due paramentri davvero utili
un booleano distinct che se è settato a true distingue le righe uguali come avviene nelle direttiva Distinct di Sql
e un'array di stringhe columns che indicano le colonne che vogliano copiare nella nuova tabella.
Quindi il mio codice sarà molto più semplice
DataTable tableClone = dv.ToTable("NomeTabella",true,new string[{"Nome","Cognome"}]
Se volete vedere tutte le nuove novità vi consiglio di leggere quest'articolo