Associazione dati e Windows Form

Nei Windows Form è possibile effettuare associazioni non solo alle origini dati tradizionali, ma anche a quasi ogni struttura che contiene dati. È possibile effettuare associazioni a una matrice di valori che verranno calcolati in fase di esecuzione, letti da un file o derivati dai valori di altri controlli.

Inoltre, è possibile associare all'origine dati qualsiasi proprietà di qualunque controllo. Nelil data binding tradizionale viene in genere associata all'origine dati la proprietà relativa alla visualizzazione, ad esempio la proprietà Text di un controllo TextBox. Con .NET Framework è anche possibile impostare altre proprietà tramite l'associazione. È possibile usare l'associazione per eseguire le attività seguenti:

  • Impostazione della grafica di un controllo immagine.

  • Impostazione del colore di sfondo di uno o più controlli.

  • Impostazione delle dimensioni dei controlli.

In pratica, il data binding rappresenta un sistema automatico per l'impostazione di qualsiasi proprietà accessibile in fase di esecuzione di qualsiasi controllo del form.

Tipi di data binding

Nei Windows Form è possibile usare due tipi di data binding, ovvero l'associazione semplice e l'associazione complessa. I due tipi presentano vantaggi diversi.

Tipo di data binding Descrizione
Data binding semplice Capacità di un controllo di eseguire l'associazione a un singolo elemento di dati, ad esempio il valore di una colonna in una tabella di dataset. Questo tipo di associazione viene solitamente usata per controlli quali TextBox o Label, vale a dire controlli che in genere visualizzano un unico valore. In realtà è possibile associare qualsiasi proprietà di un controllo a un campo di un database. In Visual Studio è disponibile un ampio supporto per questa funzionalità.

Per altre informazioni, vedere:

- Interfacce correlate al data binding
- Procedura: Esplorare dati in Windows Form
- Procedura: Creare un controllo con associazione semplice in un Windows Form
Data binding complesso Capacità di un controllo di eseguire l'associazione a più di un elemento di dati, in genere a più record di un database. L'associazione complessa viene detta anche associazione basata su elenchi. Tra i controlli di esempio che supportano l'associazione complessa sono annoverati i controlli DataGridView, ListBox e ComboBox. Per un esempio di data binding complesso, vedere Procedura: Associare un controllo ComboBox o ListBox Windows Form ai dati.

Componente BindingSource

Per semplificare il data binding, Windows Form consente di associare un'origine dati al componente BindingSource e poi di associare i controlli alla classe BindingSource. È possibile usare la classe BindingSource in scenari di associazione semplice o complessa. In entrambi i casi, la classe BindingSource agisce da intermediaria tra l'origine dati e i controlli associati fornendo la notifica delle modifiche, la gestione della diffusione dei dati e altri servizi.

Scenari comuni di utilizzo del data binding

In quasi tutte le applicazioni commerciali vengono usate informazioni che sono lette da origini dati di un determinato tipo, generalmente tramite data binding. Nell'elenco seguente sono illustrati gli scenari più comuni in cui viene usato il data binding per la presentazione e la manipolazione dei dati.

Scenario Descrizione
Creazione di report I report forniscono una soluzione flessibile per la visualizzazione e il riepilogo dei dati in un documento stampato. In genere vengono creati report che consentono di visualizzare un determinato contenuto di un'origine dati sia sullo schermo che su documenti stampati. I report più comuni includono elenchi, fatture e riepiloghi. Le voci dei report in genere vengono formattate in colonne di elenchi, con voci secondarie organizzate sotto ciascuna voce dell'elenco, tuttavia è opportuno scegliere il layout più appropriato in funzione del tipo di dati.
Immissione dati Un metodo comunemente impiegato per immettere elevate quantità di dati correlati o per richiedere informazioni agli utenti consiste nell'utilizzo di un form per l'immissione dei dati. Gli utenti possono immettere le informazioni o selezionare le opzioni usando caselle di testo, pulsanti di opzione, elenchi a discesa e caselle di controllo. Le informazioni vengono quindi inviate e archiviate in un database, la cui struttura si basa sulle informazioni immesse.
Relazione Master-Details Un'applicazione Master-Details rappresenta un formato per la presentazione di dati correlati. Nello specifico, due tabelle di dati sono associate tra loro mediante una relazione. In un tipico scenario aziendale, ad esempio, sono disponibili una tabella "Customers" e una tabella "Orders" correlate da una relazione che collega i clienti ai relativi ordini. Per altre informazioni sulla creazione di un'applicazione master/dettaglio con due controlli Windows FormDataGridView, vedere Procedura: Creare un modulo master/dettaglio usando due controlli DataGridView Windows Form
Tabella di ricerca Un altro scenario comune di presentazione e manipolazione dei dati è rappresentato dalla tabella di ricerca. Nell'ambito della visualizzazione di un'elevata quantità di dati viene spesso usato un controllo ComboBox per visualizzare e manipolare i dati. I dati visualizzati nel controllo ComboBox sono diversi dai dati scritti nel database. Se ad esempio è presente un controllo ComboBox che visualizza i prodotti disponibili in un negozio di alimentari, probabilmente si vorranno visualizzare i nomi dei prodotti, quali pane, latte, uova e così via. Per facilitare tuttavia il recupero delle informazioni all'interno del database e per la normalizzazione del database, le informazioni per i prodotti specifici di un determinato ordine verranno probabilmente archiviate come numeri, ad esempio 501, 603 e così via. In tal modo viene stabilito un collegamento implicito tra il nome comune del prodotto nel controllo ComboBox del form e il relativo numero presente all'interno dell'ordine. Ciò rappresenta in sintesi il principio di funzionamento di una tabella di ricerca. Per altre informazioni, vedere Procedura: Creare una tabella di ricerca con il componente BindingSource Windows Form.

Vedi anche