data binding e Windows FormData Binding and Windows Forms

Nei Windows Form è possibile effettuare associazioni non solo alle origini dati tradizionali, ma anche a quasi ogni struttura che contiene dati.In Windows Forms, you can bind to not just traditional data sources, but also to almost any structure that contains data. È 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.You can bind to an array of values that you calculate at run time, read from a file, or derive from the values of other controls.

Inoltre, è possibile associare all'origine dati qualsiasi proprietà di qualunque controllo.In addition, you can bind any property of any control to the data source. 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.In traditional data binding, you typically bind the display property—for example, the Text property of a TextBox control—to the data source. .NET Framework.NET Framework consente anche di impostare anche altre proprietà tramite associazione.With the .NET Framework.NET Framework, you also have the option of setting other properties through binding as well. È possibile usare l'associazione per effettuare le operazioni riportate di seguito:You might use binding to perform the following tasks:

  • Impostazione della grafica di un controllo immagine.Setting the graphic of an image control.

  • Impostazione del colore di sfondo di uno o più controlli.Setting the background color of one or more controls.

  • Impostazione delle dimensioni dei controlli.Setting the size of controls.

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.Essentially, data binding is an automatic way of setting any run-time accessible property of any control on a form.

Tipi di data bindingTypes of Data Binding

Nei Windows Form è possibile usare due tipi di data binding, ovvero l'associazione semplice e l'associazione complessa.Windows Forms can take advantage of two types of data binding: simple binding and complex binding. I due tipi presentano vantaggi diversi.Each offers different advantages.

Tipo di data bindingType of data binding DescrizioneDescription
Data binding sempliceSimple data binding 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.The ability of a control to bind to a single data element, such as a value in a column in a dataset table. Questo tipo di associazione viene solitamente usata per controlli quali TextBox o Label, vale a dire controlli che in genere visualizzano un unico valore.This is the type of binding typical for controls such as a TextBox control or Label control, which are controls that typically only displays a single value. In realtà è possibile associare qualsiasi proprietà di un controllo a un campo di un database.In fact, any property on a control can be bound to a field in a database. È disponibile supporto completo per questa funzionalità in Visual Studio.There is extensive support for this feature in Visual Studio.

Per altre informazioni, vedere:For more information, see:

- Interfacce correlate al Data Binding- Interfaces Related to Data Binding
- Procedura: esplorare dati in Windows Form- How to: Navigate Data in Windows Forms
- Procedura: creare un controllo con associazione semplice in un Windows Form- How to: Create a Simple-Bound Control on a Windows Form
Data binding complessoComplex data binding Capacità di un controllo di eseguire l'associazione a più di un elemento di dati, in genere a più record di un database.The ability of a control to bind to more than one data element, typically more than one record in a database. L'associazione complessa viene detta anche associazione basata su elenchi.Complex binding is also called list-based binding. Tra i controlli di esempio che supportano l'associazione complessa sono annoverati i controlli DataGridView, ListBox e ComboBox.Examples of controls that support complex binding are the DataGridView, ListBox, and ComboBox controls. Per un esempio di data binding complesso, vedere procedura: associare un controllo ComboBox Windows Form o controllo ListBox ai dati.For an example of complex data binding, see How to: Bind a Windows Forms ComboBox or ListBox Control to Data.

Componente BindingSourceBindingSource Component

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.To simplify data binding, Windows Forms enables you to bind a data source to the BindingSource component and then bind controls to the BindingSource. È possibile usare la classe BindingSource in scenari di associazione semplice o complessa.You can use the BindingSource in simple or complex binding scenarios. 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.In either case, the BindingSource acts as an intermediary between the data source and bound controls providing change notification currency management and other services.

Scenari comuni di utilizzo delil data bindingCommon Scenarios That Employ 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.Nearly every commercial application uses information read from data sources of one type or another, usually through 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.The following list shows a few of the most common scenarios that utilize data binding as the method of data presentation and manipulation.

ScenarioScenario DescrizioneDescription
ReportingReporting I report forniscono una soluzione flessibile per la visualizzazione e il riepilogo dei dati in un documento stampato.Reports provide a flexible way for you to display and summarize your data in a printed document. In genere vengono creati report che consentono di visualizzare un determinato contenuto di un'origine dati sia sullo schermo che su documenti stampati.It is very common to create a report that prints selected contents of a data source either to the screen or to a printer. I report più comuni includono elenchi, fatture e riepiloghi.Common reports include lists, invoices, and summaries. 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.Items are usually formatted into columns of lists, with sub-items organized under each list item, but you should choose the layout that best suits the data.
Immissione di datiData entry 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.A common way to enter large amounts of related data or to prompt users for information is through a data entry form. Gli utenti possono immettere le informazioni o selezionare le opzioni usando caselle di testo, pulsanti di opzione, elenchi a discesa e caselle di controllo.Users can enter information or select choices using text boxes, option buttons, drop-down lists, and check boxes. Le informazioni vengono quindi inviate e archiviate in un database, la cui struttura si basa sulle informazioni immesse.Information is then submitted and stored in a database, whose structure is based on the information entered.
Relazione Master-DetailsMaster/detail relationship Un'applicazione Master-Details rappresenta un formato per la presentazione di dati correlati.A master/detail application is one format for looking at related data. 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.Specifically, there are two tables of data with a relation connecting them—in the classic business example, a "Customers" table and an "Orders" table with a relationship between them linking customers and their respective orders. Per ulteriori informazioni sulla creazione di un'applicazione master-Details con due form Windows DataGridView controlli, vedere procedura: creare un Master-Details Form utilizzando due Windows Form controlli DataGridViewFor more information about creating a master/detail application with two Windows Forms DataGridView controls, see How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls
Tabella di ricercaLookup Table Un altro scenario comune di presentazione e manipolazione dei dati è rappresentato dalla tabella di ricerca.Another common data presentation/manipulation scenario is the table lookup. Nell'ambito della visualizzazione di un'elevata quantità di dati viene spesso usato un controllo ComboBox per visualizzare e manipolare i dati.Often, as part of a larger data display, a ComboBox control is used to display and manipulate data. I dati visualizzati nel controllo ComboBox sono diversi dai dati scritti nel database.The key is that the data displayed in the ComboBox control is different than the data written to the 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.For example, if you have a ComboBox control displaying the items available from a grocery store, you would probably like to see the names of the products (bread, milk, eggs). 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.However, to ease information retrieval within the database and for database normalization, you would probably store the information for the specific items of a given order as item numbers (#501, #603, and so on). 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.Thus, there is an implicit connection between the "friendly name" of the grocery item in the ComboBox control on your form and the related item number that is present in an order. Ciò rappresenta in sintesi il principio di funzionamento di una tabella di ricerca.This is the essence of a table lookup. Per ulteriori informazioni, vedere procedura: creare una tabella di ricerca con il componente BindingSource Windows Form.For more information, see How to: Create a Lookup Table with the Windows Forms BindingSource Component.

Vedere ancheSee Also

Binding
Data binding in Windows FormWindows Forms Data Binding
Procedura: Associare il controllo DataGrid Windows Form a un'origine datiHow to: Bind the Windows Forms DataGrid Control to a Data Source
Componente BindingSourceBindingSource Component