Cenni preliminari sul componente BindingSource

Il componente BindingSource è progettato per semplificare il processo di associazione di controlli a un'origine dati sottostante. Il componente BindingSource funge da canale e da origine dati per altri controlli a cui associarli. Fornisce un'astrazione della connessione dati del form passando i comandi all'elenco dei dati sottostante. Inoltre, è possibile aggiungervi dati direttamente, in modo che il componente stesso funga da origine dati.

Componente BindingSource come intermediario

Il componente BindingSource funge da origine dati per alcuni o tutti i controlli nel form. In Visual Studio l'oggetto BindingSource può essere associato a un controllo tramite la DataBindings proprietà , accessibile dalla finestra Proprietà . Vedere anche Procedura: associare controlli Windows Form al componente BindingSource utilizzando la finestra di progettazione.

È possibile associare il componente BindingSource a entrambe le semplici origini dati, ad esempio una singola proprietà di un oggetto o una raccolta di base come ArrayList, e origini dati complesse, ad esempio una tabella di database. Il componente BindingSource funge da intermediario che fornisce servizi di associazione e gestione valuta. In fase di progettazione o di esecuzione, è possibile associare un componente BindingSource a un'origine dati complessi impostando le relative proprietà DataSource e DataMember sul database e sulla tabella, rispettivamente. La figura seguente illustra il punto in cui il componente BindingSource si inserisce nell'architettura di associazione di dati esistente.

Binding Source and Data Binding Architecture

Nota

In fase di progettazione, alcune azioni, ad esempio il trascinamento di una tabella di database da una finestra dei dati in un form vuoto, comporta la creazione del componente BindingSource, la sua associazione all'origine dati sottostante e l'aggiunta dei controlli con supporto dati in un'unica operazione. Vedere anche Associare i controlli di Windows Form ai dati in Visual Studio.

Componente BindingSource come origine dati

Se si avvia l'aggiunta di elementi al componente BindingSource senza prima specificare un elenco a cui associarlo, il componente funge da origine dati list-style e accetta tali elementi aggiunti.

Inoltre, è possibile scrivere codice per fornire funzionalità "AddNew" personalizzate per mezzo dell'evento AddingNew, che viene generato quando il metodo AddNew viene chiamato prima dell'elemento da aggiungere all'elenco. Per altre informazioni, vedere Architettura del componente BindingSource.

Per gli utenti che devono passare i dati in un form, il componente BindingNavigator consente di esplorare e modificare i dati in coordinamento con un componente BindingSource. Per altre informazioni, vedere Controllo BindingNavigator.

Modifica dei dati

L'oggetto BindingSource agisce come CurrencyManager per tutte le associazioni e può, pertanto, fornire l'accesso alle informazioni su valuta e posizione relativamente all'origine dati. La tabella seguente illustra i membri che il componente BindingSource fornisce per l'accesso e la modifica dei dati sottostanti.

Membro Descrizione
Proprietà Current Ottiene l'elemento corrente dell'origine dati.
Proprietà Position Ottiene o imposta la posizione corrente nell'elenco sottostante.
Proprietà List Ottiene l'elenco che è la valutazione di DataSource e DataMember. Se DataMember non è impostato, restituisce l'elenco specificato da DataSource.
Metodo Insert Inserisce un elemento nell'elenco in corrispondenza dell'indice specificato.
Metodo RemoveCurrent Rimuove l'elemento corrente dall'elenco.
Metodo EndEdit Applica le modifiche in sospeso all'origine dati sottostante.
Metodo CancelEdit Annulla l'operazione di modifica corrente.
Metodo AddNew Aggiunge un nuovo elemento all'elenco sottostante. Se l'origine dati implementa IBindingList e restituisce un elemento dall'evento AddingNew, aggiunge tale elemento. In caso contrario, la richiesta viene passata a metodo AddNew dell'elenco. Se l'elenco sottostante non è un oggetto IBindingList, l'elemento viene creato automaticamente tramite il relativo costruttore pubblico senza parametri.

Ordinamento e filtro

In genere, l'utente lavora con una visualizzazione ordinata o filtrata dell'origine dati. La tabella seguente illustra i membri forniti dall'origine dati del componente BindingSource.

Membro Descrizione
Proprietà Sort Se l'origine dati è un IBindingList, ottiene o imposta un nome di colonna usato per l'ordinamento e il criterio di ordinamento. Se l'origine dati è un IBindingListView e supporta l'ordinamento avanzato, ottiene più nomi di colonna usati per l'ordinamento e il criterio di ordinamento
Proprietà Filter Se l'origine dati è un IBindingListView, ottiene o imposta l'espressione usata per filtrare le righe da visualizzare.

Vedi anche