Coach


In pieno rock ".net" roll
Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

DataTable dalla Dataview

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

 

 

Categoria: .NET 2.0
mercoledì, 25 mag 2005 Ore. 13.50
  • Views Home Page: 295.533
  • Views Posts: 811.185
  • Views Gallerie: 349.014
  • n° Posts: 484
  • n° Commenti: 275












Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003