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.
È possibile visualizzare i dati agli utenti dell'applicazione associando i dati a Windows Form. Per creare questi controlli associati a dati, trascinare gli elementi dalla finestra Origini dati nella progettazione di Windows Form in Visual Studio.
Suggerimento
Se la finestra Origini dati non è visibile, è possibile aprirla scegliendo Visualizza>Altre finestre>Origini dati, o premendo MAIUSC+ALT+D. Per visualizzare la finestra Origini dati , è necessario avere un progetto aperto in Visual Studio.
Prima di trascinare gli elementi, è possibile impostare il tipo di controllo a cui si desidera eseguire l'associazione. Vengono visualizzati valori diversi a seconda che si scelga la tabella stessa o una singola colonna. È anche possibile impostare valori personalizzati. Per una tabella, Details indica che ogni colonna è associata a un controllo separato.
Controlli BindingSource e BindingNavigator
Il componente BindingSource serve due scopi. In primo luogo, fornisce un livello di astrazione quando si associano i controlli ai dati. I controlli nel modulo sono associati al componente BindingSource anziché direttamente a un'origine dati. In secondo luogo, può gestire una raccolta di oggetti. Aggiungendo un tipo a BindingSource, si crea un elenco di quel tipo.
Per altre informazioni sul BindingSource componente, vedere:
Il controllo BindingNavigator fornisce un'interfaccia utente per lo spostamento tra i dati visualizzati da un'applicazione Windows.
Associare i dati all'interno di un controllo DataGridView
Per un controllo DataGridView, l'intera tabella è associata a tale singolo controllo. Quando si trascina un oggetto DataGridView nel modulo, viene visualizzata anche una striscia di strumenti per lo spostamento dei record (BindingNavigator).
Un oggetto DataSet, TableAdapter, BindingSourcee BindingNavigator viene visualizzato nella barra dei componenti. Nella figura seguente viene aggiunto anche un oggetto TableAdapterManager perché la tabella Customers ha una relazione con la tabella Orders. Queste variabili sono tutte dichiarate nel codice generato automaticamente come membri privati nella classe del modulo. Il codice generato automaticamente per il riempimento di DataGridView si trova nel Form_Load gestore eventi. Il codice per salvare i dati per aggiornare il database si trova nel Save gestore eventi per BindingNavigator. È possibile spostare o modificare questo codice in base alle esigenze.
È possibile personalizzare il comportamento di DataGridView e BindingNavigator facendo clic sullo smart tag nell'angolo superiore destro di ognuno di essi:
Se i controlli necessari per l'applicazione non sono disponibili all'interno della finestra Origini dati , è possibile aggiungere controlli. Per altre informazioni, vedere Aggiungere controlli personalizzati alla finestra Origini dati.
È anche possibile trascinare gli elementi dalla finestra Origini dati nei controlli già presenti in una maschera per associare il controllo ai dati. Un controllo già associato ai dati ha reimpostato i data binding all'elemento trascinato più di recente. Per essere destinazioni di rilascio valide, i controlli devono essere in grado di visualizzare il tipo di dati sottostante dell'elemento trascinato su di esso dalla finestra Origini dati . Ad esempio, non è valido trascinare un elemento con un tipo di dati DateTime su CheckBox, perché CheckBox non è in grado di visualizzare una data.
Associare dati a singoli controlli
Quando si associa un'origine dati a Dettagli, ogni colonna del set di dati viene associata a un controllo separato.
Importante
Si noti che nella figura precedente si trascina dalla proprietà Orders della tabella Customers, non dalla tabella Orders. Tramite l'associazione Customer.Orders alla proprietà, i comandi di spostamento eseguiti in DataGridView vengono riflessi immediatamente nei controlli dei dettagli. Se fosse stato trascinato dalla tabella Orders, i controlli sarebbero comunque associati al set di dati, ma non sarebbero sincronizzati con il DataGridView.
La figura seguente mostra i controlli associati a dati predefiniti aggiunti al modulo dopo che la proprietà Orders nella tabella Customers è associata a Dettagli nella finestra Origini dati .
Si noti anche che ogni controllo ha uno smart tag. Questo tag abilita le personalizzazioni che si applicano solo a tale controllo.