it-swarm.it

Qual è la differenza tra dataview e datatable?

Qual è la differenza tra DataView e DataTable in .Net? Per quanto ne so, DataView è solo una falsa presentazione di DataTable. Quando dovrei usare DataView?

Grazie in anticipo.

41
kevin

Quando si desidera eseguire una query e mostrare il sottoinsieme di dati in un controllo, un DataView potrebbe essere di aiuto. Questo è solo un esempio, guarda esempio MSDN per DataView , che spiega dove dovresti usare DataViews con DataTables ...

DataTable

Un datatable è una rappresentazione in memoria di una singola tabella di database. Puoi pensare che abbia colonne e righe allo stesso modo. DataTable è un oggetto centrale nella libreria ADO.NET. Altri oggetti che utilizzano DataTable includono DataSet e DataView.

Guarda MSDN classe DataTable per maggiori dettagli.

DataView

Una vista dati è una vista su un datatable, un po 'come una vista sql. Consente di filtrare e ordinare le righe, spesso per l'associazione a un controllo modulo Windows.

Inoltre, un DataView può essere personalizzato per presentare un sottoinsieme di dati dalla DataTable. Questa funzionalità consente di avere due controlli associati alla stessa DataTable, ma che mostrano versioni diverse dei dati. Ad esempio, un controllo può essere associato a un DataView che mostra tutte le righe nella tabella, mentre un secondo può essere configurato per visualizzare solo le righe che sono state eliminate dalla DataTable. DataTable ha anche una proprietà DefaultView che restituisce il DataView predefinito per la tabella.

Guarda MSDN classe DataView per maggiori dettagli.

47
CharithJ

DataTable indica una rappresentazione a tabella singola mentre DataSet è una rappresentazione a più tabelle.

Ciò significa che utilizzando DataTable possiamo contenere solo una singola tabella dal database, se utilizziamo DataSet possiamo contenere più tabelle alla volta ...

DataView indica la visualizzazione dei dati disponibili in DataSet... (vista della tabella disponibile in DataSet) viene utilizzato per trovare un record, ordinare, filtrare il record ... usando DataView.

7
SUNIL

puoi avere il filtro su DataTable con DataView. ad esempio se hai un DataSet che include tutti i parametri puoi trovare uno dei parametri con DataView:

DataView dv = new DataView();
dv = new DataView(parameterDs.Tables[0], "ParameterName = '@" + parameter.Key + "'", string.Empty, DataViewRowState.CurrentRows);
6
masoud ramezani