Share via


Creazione di un oggetto DataView

Esistono due modi per creare un elemento DataView. È possibile usare il costruttore DataView oppure creare un riferimento alla proprietà DefaultView della DataTable. Il costruttore DataView può essere vuoto oppure può accettare una DataTable come unico argomento o una DataTable insieme a criteri di filtro, criteri di ordinamento e un filtro relativo allo stato di riga. Per altre informazioni sugli argomenti aggiuntivi disponibili per l'uso con DataView, vedere Ordinamento e applicazione di filtri ai dati.

Dal momento che l'indice per un DataView viene compilato sia al momento della creazione del DataView che a ogni modifica della proprietà Sort, RowFilter o RowStateFilter, per ottenere prestazioni ottimali, si consiglia di fornire eventuali criteri di ordinamento o di filtro iniziali come argomenti del costruttore quando si crea il DataView. Se si crea un oggetto DataView senza specificare criteri di filtro o di ordinamento e successivamente si imposta la proprietà Sort, RowFilter o RowStateFilter, l'indice verrà compilato almeno due volte: una volta durante la creazione di DataView e una seconda volta quando viene modificata una delle proprietà di ordinamento o filtro.

Notare che se si crea un DataView usando un costruttore che non accetta argomenti, non sarà possibile usare il DataView fino a quando non sarà stata impostata la proprietà Table.

Nell'esempio di codice seguente viene illustrato come creare un oggetto DataView usando il costruttore DataView. Insieme alla DataTable vengono forniti un RowFilter, una colonna Sort e DataViewRowState.

Dim custDV As DataView = New DataView(custDS.Tables("Customers"), _  
    "Country = 'USA'", _  
    "ContactName", _  
    DataViewRowState.CurrentRows)  
DataView custDV = new DataView(custDS.Tables["Customers"],
    "Country = 'USA'",
    "ContactName",
    DataViewRowState.CurrentRows);  

Nell'esempio di codice seguente viene illustrato come ottenere un riferimento al DataView predefinito di una DataTable mediante la proprietà DefaultView della tabella.

Dim custDV As DataView = custDS.Tables("Customers").DefaultView  
DataView custDV = custDS.Tables["Customers"].DefaultView;  

Vedi anche