Procedura: convalidare i dati durante la modifica delle righe
La convalida dei dati è il processo mediante il quale si verifica la validità dei valori immessi come dati dell'applicazione.È opportuno controllare questi valori prima di inviare gli aggiornamenti all'archivio dati sottostante,in quanto consente di ridurre il numero potenziale di round trip tra un'applicazione e l'archivio dati.
[!NOTA]
Nella finestra Progettazione DataSet è possibile creare una classe parziale in cui inserire la logica di convalida per il dataset.Il dataset generato mediante la finestra di progettazione non ha la possibilità di cancellare né di modificare in alcun modo il codice inserito nella classe parziale.
È possibile convalidare i dati quando i valori di una riga di dati vengono modificati mediante la risposta all'evento RowChanging.Una volta generato, tale evento passa un argomento (e.Row) contenente i valori proposti per ciascuna colonna nella riga corrente.In base al contenuto di ogni colonna in e.Row, è possibile:
Accettare il valore proposto senza eseguire alcuna operazione.
Rifiutare il valore proposto impostando l'errore di colonna (SetColumnError) dal gestore eventi di modifica righe.
Utilizzare facoltativamente un controllo ErrorProvider per visualizzare un messaggio di errore all'utente.Per ulteriori informazioni, vedere Componente ErrorProvider (Windows Form).
La convalida può essere eseguita anche durante le modifiche alle singole colonne mediante l'evento ColumnChanging.Per ulteriori informazioni, vedere Procedura: convalidare i dati durante la modifica delle colonne.
Convalida dei dati nell'evento RowChanging
È possibile scrivere del codice per verificare che ogni colonna da convalidare contenga dati che soddisfano i requisiti dell'applicazione.Se il valore proposto non è accettabile, impostare la colonna in modo da indicare che contiene un errore. Negli esempi che seguono viene impostato un errore di colonna quando la colonna Quantity è pari a 0 o a un valore inferiore.I gestori eventi di modifica righe devono risultare simili agli esempi seguenti.
Per convalidare dati quando si modifica una riga (Visual Basic)
Aprire il dataset in Progettazione DataSet.Per ulteriori informazioni, vedere Procedura: aprire un dataset in Progettazione DataSet.
Fare doppio clic sulla barra del titolo della tabella che si desidera convalidare.Attraverso questa azione viene creato automaticamente il gestore eventi RowChanging dell'oggetto DataTable nel file di classe parziale del dataset.
Suggerimento Fare doppio clic a sinistra del nome della tabella per creare il gestore eventi di modifica righe.Fare doppio clic sul nome della tabella per modificarlo.
Private Sub Order_DetailsDataTable_Order_DetailsRowChanging( ByVal sender As System.Object, ByVal e As Order_DetailsRowChangeEvent ) Handles Me.Order_DetailsRowChanging If CType(e.Row.Quantity, Short) <= 0 Then e.Row.SetColumnError("Quantity", "Quantity must be greater than 0") Else e.Row.SetColumnError("Quantity", "") End If End Sub
Per convalidare dati quando si modifica una riga (C#)
Aprire il dataset in Progettazione DataSet.Per ulteriori informazioni, vedere Procedura: aprire un dataset in Progettazione DataSet.
Fare doppio clic sulla barra del titolo della tabella che si desidera convalidare.Attraverso questa azione viene creato un file di classe parziale per l'oggetto DataTable.
[!NOTA]
Progettazione DataSet non consente di creare automaticamente un gestore eventi per l'evento RowChanging.È necessario creare un metodo per gestire l'evento RowChanging ed eseguire il codice per associare tale evento nel metodo di inizializzazione della tabella.
Copiare il codice riportato di seguito nella classe parziale:
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", ""); } }
Vedere anche
Attività
Procedura: connettersi ai dati di un database
Procedura: convalidare i dati durante la modifica delle colonne
Procedura dettagliata: visualizzazione di dati in un Windows Form
Riferimenti
Eventi (Guida per programmatori C#)
Concetti
Novità relative allo sviluppo di applicazioni dati in Visual Studio 2012
Cenni preliminari sugli oggetti TableAdapter
Creazione e modifica di dataset tipizzati
Cenni preliminari sulle origini dati