Condividi tramite


Cenni preliminari sul componente BindingSource

Il componente BindingSource è progettato per semplificare il processo di associazione dei controlli a un'origine dati sottostante. Il componente BindingSource funge sia da un condotto che da un'origine dati a cui associare altri controlli. Fornisce un'astrazione della connessione dati del modulo mentre trasferisce comandi all'elenco di dati sottostante. Inoltre, è possibile aggiungere dati direttamente a esso, in modo che il componente stesso funzioni come origine dati.

Componente BindingSource come intermediario

Il componente BindingSource funge da origine dati per alcuni o tutti i controlli sul modulo. In Visual Studio, il BindingSource può essere associato a un controllo tramite la proprietà DataBindings, accessibile dalla finestra Proprietà . Vedere anche Procedura: Associare controlli Windows Form al componente BindingSource usando la finestra di progettazione.

È possibile associare il componente BindingSource a origini dati semplici, ad esempio una singola proprietà di un oggetto o una raccolta di base come ArrayListe origini dati complesse, ad esempio una tabella di database. Il componente BindingSource funge da intermediario che fornisce servizi di associazione e gestione della valuta. In fase di progettazione o in fase di esecuzione, è possibile associare un componente BindingSource a un'origine dati complessa impostando rispettivamente le relative proprietà DataSource e DataMember al database e alla tabella. La figura seguente illustra dove il componente BindingSource rientra nell'architettura di data binding esistente.

'architettura dell'origine e del data binding

Nota

In fase di progettazione, alcune azioni, ad esempio il trascinamento di una tabella di database da una finestra dati in una maschera vuota, creeranno il componente BindingSource, lo assoceranno all'origine dati sottostante e aggiungeranno controlli intelligenti per i dati, il tutto in un'unica operazione. Vedere anche Associare controlli Windows Form ai dati in Visual Studio.

Componente BindingSource come origine dati

Se si inizia ad aggiungere elementi al componente BindingSource senza prima specificare un elenco a cui essere associato, il componente fungerà da origine dati di tipo elenco e accetterà questi elementi aggiunti.

Inoltre, è possibile scrivere codice per fornire funzionalità personalizzate "AddNew" tramite l'evento AddingNew, generato quando viene chiamato il metodo AddNew prima dell'aggiunta dell'elemento all'elenco. Per altre informazioni, vedere BindingSource Component Architecture.

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

Manipolazione dei dati

Il: BindingSource funge da CurrencyManager per tutte le associazioni e può quindi fornire l'accesso alle informazioni sulla valuta e sulla posizione dell'origine dati. Nella tabella seguente vengono illustrati i membri forniti dal componente BindingSource per accedere e modificare i dati sottostanti.

Membro Descrizione
la proprietà Current Ottiene l'elemento corrente dell'origine dati.
proprietà Position Ottiene o imposta la posizione corrente nell'elenco sottostante.
List proprietà Ottiene l'elenco che è il risultato della 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 questo elemento. Altrimenti, la richiesta viene passata al metodo AddNew dell'elenco. Se l'elenco sottostante non è un IBindingList, l'elemento viene creato automaticamente tramite il relativo costruttore pubblico senza parametri.

Ordinamento e filtro

In genere, è consigliabile usare una vista ordinata o filtrata dell'origine dati. Nella tabella seguente vengono mostrati i membri forniti dall'origine dati del componente BindingSource.

Membro Descrizione
Sort proprietà Se l'origine dati è un IBindingList, ottiene o imposta un nome di colonna utilizzato per l'ordinamento e le informazioni sull'ordine di ordinamento. Se l'origine dati è un IBindingListView e consente l'ordinamento avanzato, recupera i nomi di più colonne utilizzate per l'ordinamento e le informazioni sull'ordine di ordinamento.
Filter proprietà Se l'origine dati è un IBindingListView, ottiene o imposta l'espressione usata per filtrare le righe che vengono visualizzate.

Vedere anche