Condividi tramite


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

  1. Aprire il dataset in Progettazione DataSet.Per ulteriori informazioni, vedere Procedura: aprire un dataset in Progettazione DataSet.

  2. 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.

  3. 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: visualizzare le icone di errori per la convalida dei form con il componente ErrorProvider di Windows Form

Procedura: connettersi ai dati di un database

Riferimenti

Origini dati (finestra)

Concetti

Cenni preliminari sugli oggetti TableAdapter

Creazione e modifica di dataset tipizzati

Cenni preliminari sulle origini dati

Convalida dei dati