Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
La DataSet classe e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le app vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le app che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Sebbene i set di dati siano una tecnologia di successo comprovata, l'approccio consigliato per le nuove applicazioni .NET consiste nell'usare Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e dispone di un'interfaccia di programmazione più semplice.
Quando si visualizzano dati nei moduli nelle applicazioni Windows, è possibile scegliere i controlli esistenti dalla casella degli strumenti oppure creare controlli personalizzati se l'applicazione richiede funzionalità non disponibili nei controlli standard. Questa procedura dettagliata illustra come creare un controllo che implementa DefaultBindingPropertyAttribute. I controlli che implementano DefaultBindingPropertyAttribute possono contenere una proprietà che può essere associata ai dati. Tali controlli sono simili a un TextBox o un CheckBox.
Per altre informazioni sulla creazione di controlli, vedere Sviluppo di controlli Windows Form in fase di progettazione.
Quando si creano controlli da usare negli scenari di data binding, è necessario implementare uno degli attributi di data binding seguenti:
| Utilizzo degli attributi di data binding |
|---|
| Implementare il DefaultBindingPropertyAttribute su controlli semplici, come TextBox, che visualizzano una singola colonna (o proprietà) di dati. Questo processo è descritto in questa pagina dettagliata. |
| Implementare nei ComplexBindingPropertiesAttribute controlli, ad esempio DataGridView, che visualizzano elenchi (o tabelle) di dati. Per altre informazioni, vedere Creare un controllo utente di Windows Forms che supporta il data binding complesso. |
| Implementare nei LookupBindingPropertiesAttribute controlli, come ComboBox, che visualizzano elenchi (o tabelle) di dati, ma devono anche presentare una singola colonna o proprietà. Per altre informazioni, vedere Creare un controllo utente Windows Form che supporta il data binding di ricerca. |
Questa guida pratica crea un semplice controllo che visualizza i dati di una colonna singola in una tabella. In questo esempio viene utilizzata la Phone colonna della Customers tabella del database di esempio Northwind. Il controllo utente semplice visualizza i numeri di telefono dei clienti in un formato di numero di telefono standard, usando un MaskedTextBox e impostando la maschera su formato numero di telefono.
Durante questa procedura dettagliata si apprenderà come:
Creare una nuova app Windows Forms (.NET Framework).
Aggiungere un nuovo controllo utente al progetto.
Progettare visivamente il controllo utente.
Implementare l'attributo
DefaultBindingProperty.Creare un set di dati con il wizard Data Source Configuration.
Impostare la colonna Phone nella finestra Origini dati per usare il nuovo controllo.
Creare un modulo per visualizzare i dati nel nuovo controllo.
Prerequisiti
Per completare questa esercitazione, sono necessari i carichi di lavoro sviluppo per desktop .NET e Archiviazione dati ed elaborazione dei dati installati in Visual Studio. Per installarli, aprire del programma di installazione di Visual Studio e scegliere Modifica (o Altre>Modifica) accanto alla versione di Visual Studio da modificare. Consulta per modificare Visual Studio.
Questa procedura dettagliata usa SQL Server Express LocalDB e il database di esempio Northwind.
Se SQL Server Express LocalDB non è disponibile, installarlo dalla pagina di download di SQL Server Express o tramite il programma di installazione di Visual Studio. Nel programma di installazione di Visual Studioè possibile installare SQL Server Express LocalDB come parte del carico di lavoro di archiviazione ed elaborazione dei dati o come singolo componente.
Installare il database di esempio Northwind seguendo questa procedura:
In Visual Studio, aprire la finestra Esplora oggetti di SQL Server. L'Esplora oggetti di SQL Server è installato come parte del carico di lavoro Archiviazione dati ed elaborazione nel programma di installazione di Visual Studio. Espandi il nodo SQL Server. Fare clic con il pulsante destro del mouse sull'istanza di LocalDB e selezionare Nuova query.
Verrà visualizzata una finestra dell'editor di query.
Copia lo script Northwind Transact-SQL negli Appunti. Questo script T-SQL crea il database Northwind da zero e lo popola con i dati.
Incolla lo script T-SQL nell'editor di query e poi scegli il pulsante Esegui.
Dopo un breve periodo di tempo, la query termina l'esecuzione e viene creato il database Northwind.
Creare un'applicazione Windows Form
Il primo passaggio consiste nel creare un'app Windows Forms (.NET Framework):The first step is to create a Windows Forms App (.NET Framework):
In Visual Studio scegliere Nuovo> dal menu File.
Espandere Visual C# o Visual Basic nel riquadro a sinistra, quindi selezionare Desktop di Windows.
Nel riquadro centrale selezionare il tipo di progetto App Windows Form .
Assegnare al progetto il nome SimpleControlWalkthrough e quindi scegliere OK.
Il progetto SimpleControlWalkthrough viene creato e aggiunto a Esplora soluzioni.
Aggiungere un controllo utente al progetto
Questa procedura dettagliata crea un semplice controllo collegabile ai dati da un controllo utente. Aggiungere un elemento Controllo utente al progetto SimpleControlWalkthrough :
Scegliere Aggiungi controllo utente dal menu Progetto.
Digitare PhoneNumberBox nell'area Nome e fare clic su Aggiungi.
Il controllo PhoneNumberBox viene aggiunto a Esplora soluzioni e viene aperto nella finestra di progettazione.
Progettare il controllo PhoneNumberBox
Questa procedura dettagliata si espande sull'oggetto esistente MaskedTextBox per creare il controllo PhoneNumberBox :
Trascinare un MaskedTextBox dalla Toolbox nell'area di progettazione del controllo utente.
Selezionare lo smart tag nell'oggetto MaskedTextBox appena trascinato e scegliere Imposta maschera.
Selezionare Numero di telefono nella finestra di dialogo Maschera di input e fare clic su OK per impostare la maschera.
Aggiungere l'attributo di data binding richiesto
Per controlli semplici che supportano l'associazione dati, implementare :DefaultBindingPropertyAttribute
Passare il controllo PhoneNumberBox alla visualizzazione del codice. Scegliere Codice dal menu Visualizza.
Sostituire il codice in PhoneNumberBox con quanto segue:
using System.Windows.Forms; namespace CS { [System.ComponentModel.DefaultBindingProperty("PhoneNumber")] public partial class PhoneNumberBox : UserControl { public string PhoneNumber { get{ return maskedTextBox1.Text; } set{ maskedTextBox1.Text = value; } } public PhoneNumberBox() { InitializeComponent(); } } }Scegliere Compila soluzione dal menu Compila.
Creare un'origine dati dal tuo database
Questo passaggio utilizza la procedura guidata di configurazione dell'origine dati per creare un'origine dati basata sulla tabella Customers nel database di esempio Northwind. Per creare la connessione, è necessario avere accesso al database di esempio Northwind. Per informazioni sulla configurazione del database di esempio Northwind, vedere Procedura: Installare database di esempio.
Per aprire la finestra Origini dati, scegliere Mostra origini dati dal menu Dati.
Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la configurazione guidata origine dati .
Nella pagina Scegliere un tipo di origine dati selezionare Database e quindi avanti.
Nella pagina Choose your Data Connection (Scegli connessione dati ) eseguire una delle operazioni seguenti:
Se nell'elenco a discesa è disponibile una connessione dati al database di esempio Northwind, selezionarla.
Selezionare Nuova connessione per avviare la finestra di dialogo Aggiungi/Modifica connessione .
Se il database richiede una password, selezionare l'opzione per includere dati sensibili e quindi selezionare Avanti.
Nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione fare clic su Avanti.
Nella pagina Scegliere gli oggetti di database espandere il nodo Tabelle .
Selezionare la
Customerstabella e quindi selezionare Fine.Il NorthwindDataSet viene aggiunto al progetto e la
Customerstabella viene visualizzata nella finestra Origini dati .
Impostare la colonna del telefono per utilizzare il controllo PhoneNumberBox
Nella finestra Origini dati è possibile impostare il controllo da creare prima di trascinare gli elementi nel form:
Apri Form1 nell'editor.
Espandere il nodo Clienti nella finestra Origini dati .
Fare clic sulla freccia dell'elenco a discesa nel nodo Clienti e scegliere Dettagli dall'elenco di controlli.
Fare clic sulla freccia dell'elenco a discesa nella colonna Telefono e scegliere Personalizza.
Selezionare PhoneNumberBox dall'elenco Controlli associati nella finestra di dialogo Opzioni di personalizzazione dell'interfaccia utente dati .
Fare clic sulla freccia dell'elenco a discesa nella colonna Telefono e scegliere PhoneNumberBox.
Aggiungere controlli al modulo
È possibile creare i controlli associati a dati trascinando gli elementi dalla finestra Origini dati nel form.
Per creare controlli associati a dati nel form, trascinare il nodo Clienti principale dalla finestra Origini dati nel modulo e verificare che il controllo PhoneNumberBox venga utilizzato per visualizzare i dati nella colonna Phone .
I controlli associati a dati con etichette descrittive vengono visualizzati nel modulo, insieme a una striscia di strumenti (BindingNavigator) per lo spostamento dei record. Un oggetto NorthwindDataSet, CustomersTableAdapter, BindingSourcee BindingNavigator viene visualizzato nella barra dei componenti.
Eseguire l'applicazione
Premere F5 per eseguire l'applicazione.
Passaggi successivi
A seconda dei requisiti dell'applicazione, è possibile eseguire diversi passaggi dopo la creazione di un controllo che supporta il data binding. Alcuni passaggi successivi tipici includono:
Inserimento dei controlli personalizzati in una libreria di controlli in modo da poterli riutilizzare in altre applicazioni.
Creazione di controlli che supportano scenari di data binding più complessi. Per ulteriori informazioni, vedere Creare un controllo utente Windows Forms che supporta il data binding complesso e Creare un controllo utente Windows Forms che supporta il data binding di ricerca.