Procedura dettagliata: aggiunta di convalida a un dataset
In questa procedura dettagliata viene illustrato come convalidare i dati quando vengono apportate modifiche ai dati di un dataset.Il passaggio durante il quale vengono eseguiti i controlli di convalida sui dati dipende dai requisiti dell'applicazione; nel caso di questa procedura dettagliata i dati verranno convalidati durante la modifica dei valori delle singole colonne.In questa procedura dettagliata viene utilizzato l'evento ColumnChanging per verificare che nel record venga immesso un valore accettabile.Se il valore immesso non è valido, verrà visualizzato un controllo ErrorProvider.
Nell'esempio viene inoltre descritto come utilizzare Progettazione DataSet per creare una classe parziale per il dataset.La classe parziale consente all'utente di aggiungere codice per estendere la funzionalità del dataset generato da Visual Studio.Non viene sovrascritto se il dataset viene rigenerato.
[!NOTA]
Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.
Di seguito vengono elencate le attività illustrate nella procedura dettagliata:
Creazione di un nuovo progetto Applicazione Windows.
Creazione e configurazione di un dataset mediante la Configurazione guidata origine dati.
Selezione del controllo da creare sul form mediante il trascinamento degli elementi dalla finestra Origini dati.Per ulteriori informazioni, vedere Procedura: impostare il controllo da creare per il trascinamento dalla finestra Origini dati.
Creazione di un controllo associato a dati mediante il trascinamento di elementi dalla Origini dati (finestra) nel form.
Creazione di una classe parziale per estendere la funzionalità del dataset.
Creazione di un gestore eventi per l'evento ColumnChanging della tabella OrderDetails.
Aggiunta di codice di convalida per confermare che la colonna Quantity contiene valori maggiori di 0.
Visualizzazione di un Componente ErrorProvider (Windows Form) per informare gli utenti che un controllo associato a dati contiene valori non validi.
Prerequisiti
Per completare questa procedura dettagliata, è necessario quanto segue:
- Accedere al database di esempio Northwind.Per ulteriori informazioni, vedere Procedura: installare database di esempio.
Creazione di una nuova applicazione Windows
Per creare il nuovo progetto Applicazione Windows
Scegliere il comando per la creazione di un nuovo progetto dal menu File.
Assegnare al progetto il nome ValidationWalkthrough.
Selezionare Applicazione Windows e scegliere OK.Per ulteriori informazioni, vedere Sviluppo di applicazioni client.
Il progetto ValidationWalkthrough verrà creato e aggiunto a Esplora soluzioni.
Creazione di un'origine dati dal database in uso
Per creare l'origine dati
Scegliere Mostra origini dati dal menu Dati.
Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.
Selezionare Database nella pagina Scegliere un tipo di origine dati e scegliere Avanti.
Nella pagina Seleziona connessione dati effettuare una delle seguenti operazioni:
Selezionare la connessione dati al database di esempio Northwind nell'elenco a discesa, se presente.
In alternativa
Selezionare Nuova connessione per aprire la finestra di dialogo Aggiungi/Modifica connessione.Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi/Modifica connessione (generale).
Se il database in uso richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.
Scegliere Avanti nella pagina Salva la stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare la tabella OrderDetails, quindi scegliere Fine.
Il dataset NorthwindDataSet viene aggiunto al progetto e la tabella OrderDetails viene visualizzata nella finestra Origini dati.
Creazione di controlli associati a dati
Per creare controlli con associazione a dati nel form
Nella finestra Origini dati selezionare la tabella OrderDetails.
Selezionare Dettagli dall'elenco di controlli della tabella.
Trascinare il nodo Order Details dalla finestra Origini dati in Form1.
Nel form vengono visualizzati i controlli con associazione a dati con etichette descrittive e un controllo Toolstrip (BindingNavigator) per lo spostamento all'interno dei record.Nel form vengono visualizzati i controlli con associazione a dati con etichette descrittive e un controllo Toolstrip (BindingNavigator) per lo spostamento all'interno dei record.Nella barra dei componenti vengono visualizzati un dataset NorthwindDataSet, un oggetto Order_DetailsTableAdapter, BindingSource e un oggetto BindingNavigator.
Aggiunta di un controllo ErrorProvider al form
Per configurare un controllo ErrorProvider
Trascinare un controllo ErrorProvider dalla Casella degli strumenti nel Form1.
Nella finestra Proprietà, impostare la proprietà DataSource del controllo ErrorProvider su Order_DetailsBindingSource.
[!NOTA]
Non impostare la proprietà DataMember.
Creazione del gestore eventi ColumnChanging
Per creare i gestori eventi di convalida
Aprire il dataset NorthwindDataSet in Progettazione DataSet facendo doppio clic sul file NorthwindDataSet.xsd in Esplora soluzioni.
Fare doppio clic sulla colonna Quantity nella tabella OrderDetails per creare il gestore eventi OrderDetailsDataTable_ColumnChanging.In C# verrà creata solo la classe parziale della tabella dati.
[!NOTA]
Facendo doppio clic sul nome della tabella (Order Details nella barra del titolo) verrà creato un gestore eventi per l'evento RowChanging.
Aggiungere codice per verificare che e.ProposedValue contenga valori maggiori di 0.Se il valore proposto è 0 o inferiore, impostare la colonna in modo da indicare che contiene un errore.
Incollare il codice riportato di seguito nel gestore eventi di modifica colonne sotto al commento Aggiungere qui il codice utente:
If CType(e.ProposedValue, Short) <= 0 Then e.Row.SetColumnError(e.Column, "Quantity must be greater than 0") Else e.Row.SetColumnError(e.Column, "") End If
// C# // Add the following code // to the partial class. public override void EndInit() { base.EndInit(); Order_DetailsRowChanging += TestRowChangeEvent; } public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e) { if ((short)e.Row.Quantity <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } }
Verifica dell'applicazione
Per eseguire il test dell'applicazione
Premere F5 per eseguire l'applicazione.
Modificare in 0 il valore nella casella di testo Quantity.
Premere TAB per abbandonare la casella di testo.
Verrà visualizzata l'icona del provider di errori.
Posizionare il puntatore del mouse sul provider di errori per visualizzare il messaggio.
Passaggi successivi
A seconda dei requisiti dell'applicazione, è possibile eseguire operazioni diverse dopo avere aggiunto la convalida.È possibile apportare alcuni miglioramenti a questa procedura dettagliata, tra cui:
Aggiunta di funzionalità per l'invio di aggiornamenti al database.Per ulteriori informazioni, vedere Procedura dettagliata: salvataggio di dati in un database (a tabella singola).
Modifica del dataset per aggiungere o rimuovere oggetti di database.Per ulteriori informazioni, vedere Procedura: modificare un dataset.
Vedere anche
Concetti
Novità relative allo sviluppo di applicazioni dati in Visual Studio 2012
Associazione di controlli Windows Form ai dati in Visual Studio
Preparazione dell'applicazione al ricevimento di dati
Recupero di dati nell'applicazione
Associazione di controlli ai dati in Visual Studio
Modifica di dati nell'applicazione