Procedura: convalidare i dati durante la modifica delle colonne
La convalida dei dati è il processo mediante il quale si verifica la validità dei valori immessi come dati dell'applicazione.La verifica di questi valori precedente all'invio degli aggiornamenti all'archivio dati sottostante è un'operazione consigliata 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.Per ulteriori informazioni, vedere Procedura: estendere la funzionalità di un dataset.
È possibile convalidare i dati quando il valore di una colonna di dati viene modificato mediante la risposta all'evento ColumnChanging.Una volta generato, tale evento passa un argomento (ProposedValue) contenente il valore proposto per la colonna corrente.In base al contenuto di e.ProposedValue, è possibile:
Accettare il valore proposto senza eseguire alcuna operazione.
Rifiutare il valore proposto impostando l'errore di colonna (SetColumnError) dal gestore eventi di modifica colonne.
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 effettuata anche durante l'evento RowChanging.Per ulteriori informazioni, vedere Procedura: convalidare i dati durante la modifica delle righe.
Per convalidare i dati quando i valori delle colonne vengono modificati
Aprire il dataset in Progettazione DataSet.Per ulteriori informazioni, vedere Procedura: aprire un dataset in Progettazione DataSet.
Fare doppio clic sulla colonna da convalidare.Attraverso questa azione viene creato il gestore eventi ColumnChanging dellaDataTable.
[!NOTA]
Progettazione DataSet non crea automaticamente un gestore eventi per l'evento C#.Il codice necessario per la gestione dell'evento è incluso di seguito.
Aggiungere codice per verificare che e.ProposedValue contenga dati che soddisfano i requisiti dell'applicazione.Se il valore proposto non è accettabile, impostare la colonna per indicare che contiene un errore.
Nell'esempio di codice che segue viene impostato un errore di colonna quando la colonna Quantity presenta un valore pari a 0 o inferiore.Il gestore eventi di modifica colonne dovrebbe essere simile a quello riportato di seguito.
'Visual Basic Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _ Handles Me.ColumnChanging If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then 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 End If End Sub // C# // Add this code to the DataTable // partial class. public override void EndInit() { base.EndInit(); ColumnChanging += SampleColumnChangingEvent; } public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e) { if (e.Column.ColumnName == QuantityColumn.ColumnName) { if ((short)e.ProposedValue <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } } }
Vedere anche
Attività
Procedura dettagliata: visualizzazione di dati in un Windows Form
Procedura: convalidare dati nel controllo DataGridView di Windows Form
Procedura: connettersi ai dati di un database
Riferimenti
Concetti
Cenni preliminari sugli oggetti TableAdapter
Creazione e modifica di dataset tipizzati