Origini dati supportate da Windows Forms
Tradizionalmente, il data binding è stato usato all'interno delle applicazioni per sfruttare i vantaggi dei dati archiviati nei database. Con il data binding di Windows Form, è possibile accedere ai dati dai database e ai dati in altre strutture, ad esempio matrici e raccolte, purché siano stati soddisfatti determinati requisiti minimi.
Strutture a cui associare
In Windows Forms è possibile eseguire l'associazione a un'ampia gamma di strutture, da oggetti semplici (associazione semplice) a elenchi complessi, ad esempio tabelle di dati ADO.NET (associazione complessa). Per il collegamento semplice, Windows Forms supporta il collegamento alle proprietà pubbliche sull'oggetto semplice. L'associazione basata sull'elenco di Windows Form richiede in genere che l'oggetto supporti l'interfaccia IList o l'interfaccia IListSource. Inoltre, se si esegue l'associazione tramite un componente BindingSource, è possibile eseguire l'associazione a un oggetto che supporta l'interfaccia IEnumerable. Per altre informazioni sulle interfacce correlate al data binding, vedere Interfaces Related to Data Binding.
L'elenco seguente mostra le strutture a cui è possibile eseguire il binding nei Windows Forms.
BindingSource
Un BindingSource è la fonte di dati più comune per Windows Forms e funge da proxy tra una fonte di dati e i controlli di Windows Forms. Il modello di utilizzo generale BindingSource consiste nell'associare i controlli al BindingSource e associare l'BindingSource all'origine dati, ad esempio una tabella dati ADO.NET o un oggetto business. Il BindingSource fornisce servizi che permettono e ottimizzano il livello di supporto per il data binding. Ad esempio, i controlli basati su elenchi di Windows Forms, come DataGridView e ComboBox, non supportano direttamente l'associazione a IEnumerable origini dati; tuttavia, è possibile abilitare questo scenario associando tramite un BindingSource. In questo caso, il BindingSource convertirà l'origine dati in un IList.
Oggetti semplici
Windows Forms supporta l'associazione delle proprietà di controllo alle proprietà pubbliche di un'istanza di un oggetto utilizzando il tipo Binding. Windows Forms supporta anche i controlli basati su liste, come un ListControl a un'istanza di oggetto quando si utilizza un BindingSource.
matrice o raccolta
Per fungere da origine dati, un elenco deve implementare l'interfaccia IList; un esempio è una matrice che è un'istanza della classe Array. Per altre informazioni sulle matrici, vedere Procedura: Creare una matrice di oggetti (Visual Basic).
In generale, è consigliabile usare BindingList<T> quando si creano elenchi di oggetti per il data binding. BindingList<T> è una versione generica dell'interfaccia IBindingList. L'interfaccia IBindingList estende l'interfaccia IList aggiungendo proprietà, metodi ed eventi necessari per il data binding bidirezionale.
IEnumerable
I controlli Windows Form possono essere associati a origini dati che supportano l'interfaccia IEnumerable solo se sono associati tramite un componente BindingSource.
Oggetti di dati ADO.NET
ADO.NET fornisce una serie di strutture di dati adatte per l'associazione. Ognuno varia nella sua sofisticazione e complessità.
DataColumn. Un DataColumn è il blocco costitutivo essenziale di un DataTable, poiché una tabella è costituita da una serie di colonne. Ogni DataColumn dispone di una proprietà DataType che determina il tipo di dati che la colonna contiene, ad esempio la marca di un'automobile in una tabella che descrive le automobili. È possibile associare in modo semplice un controllo, ad esempio la proprietà Text di un controllo TextBox, a una colonna all'interno di una tabella dati.
DataTable. Un DataTable è la rappresentazione di una tabella, con righe e colonne, in ADO.NET. Una tabella di dati contiene due raccolte: DataColumn, che rappresenta le colonne di dati in una determinata tabella (che determina infine i tipi di dati che possono essere immessi in tale tabella) e DataRow, che rappresenta le righe di dati in una determinata tabella. È possibile associare in modo complesso un controllo alle informazioni contenute in una tabella dati, ad esempio associare il controllo DataGridView a una tabella dati. Tuttavia, quando si esegue il binding a un DataTable, si sta veramente collegando alla visualizzazione predefinita della tabella.
DataView. Un DataView è una vista personalizzata di una singola tabella dati che può essere filtrata o ordinata. Una vista dati è l'istantanea dei dati usata dai controlli vincolati a complessi. È possibile collegare i dati all'interno di una vista dati, sia in modo semplice che complesso, ma è importante essere consapevoli che si sta collegando a una rappresentazione statica dei dati piuttosto che a un'origine dati pulita e aggiornata.
DataSet. Un DataSet è una raccolta di tabelle, relazioni e vincoli dei dati in un database. È possibile eseguire l'associazione semplice o complessa ai dati all'interno di un set di dati, ma considerare che si esegue il binding al DataViewManager predefinito per il DataSet (vedere il punto elenco successivo).
DataViewManager. Un DataViewManager è una visualizzazione personalizzata dell'intera DataSet, analoga a una DataView, ma con l'inclusione delle relazioni. Con una raccolta di DataViewSettings, è possibile impostare i filtri predefiniti e le opzioni di ordinamento per qualsiasi visualizzazione che il DataViewManager ha per una data tabella.
Vedere anche
- notifica delle modifiche in di data binding di Windows Form
- Associazione dati e Windows Forms
- Data binding di Windows Forms
.NET Desktop feedback