Compartilhar via


Como validar dados durante alterações em coluna

Validação de dados é o processo de verificação dos valores que são inseridos nos dados do seu aplicativo. Verificar esses valores antes de enviar atualizações para o armazenamento de dados subjacentes é uma boa prática que reduz o número potencial de processamento entre um aplicativo e o armazenamento de dados.

Dica

O Dataset Designer cria uma classe parcial onde a lógica da validação pode ser adicionada a um dataset.O dataset gerado pelo designer não excluirá ou alterará qualquer código na classe parcial.Para obter mais informações, consulte Como estender a funcionalidade de um conjunto de dados.

Você pode validar os dados quando o valor em um coluna de dados é alterado respondendo ao evento ColumnChanging. Quando gerado, esse evento passa um argumento do evento (ProposedValue) que contém o valor que está sendo proposto para a coluna atual. Com base no conteúdo de e.ProposedValue, você pode:

  • Aceitar o valor proposto, sem fazer nada.

  • Rejeitar o valor proposto, definindo o erro de coluna (SetColumnError) de dentro do manipulador de eventos de alteração de colunas.

  • Opcionalmente, use um controle ErrorProvider para exibir um mensagem de erro para o usuário. Para obter mais informações, consulte Componente ErrorProvider (Windows Forms).

A validação também pode ser executada durante o evento RowChanging. Para obter mais informações, consulte Como validar dados durante alterações de linha.

Validar dados à medida que valores da coluna são alterados

  1. Abra o DataSet no Dataset Designer. Para obter mais informações, consulte Como abrir um conjunto de dados no Designer de Conjunto de Dados.

  2. Clique duas vezes na coluna que você deseja validar. Essa ação cria o manipulador de eventos ColumnChanging da DataTable.

    Dica

    O Dataset Designer não cria automaticamente um manipulador para o evento de C#.O código necessário para manipular o evento está incluído abaixo.

  3. Adicione código para verificar que e.ProposedValue contém dados que atendem aos requisitos de seu aplicativo. Se o valor proposto é inaceitável, defina a coluna para indicar que ele contém um erro.

    O exemplo de código a seguir define um erro de coluna quando a coluna Quantity é 0 ou menos. O manipulador de eventos de alteração de coluna deve parecer semelhante ao seguinte:

    '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", "");
                }
            }
        }
    

Consulte também

Tarefas

Instruções passo a passo: exibindo dados em um Windows Form

Como validar dados no controle DataGridView dos Windows Forms

Como exibir ícones de erro para validação do formulário com o componente ErrorProvider dos Windows Forms

Como conectar a dados em um banco de dados

Referência

Janela Fontes de Dados

Conceitos

Visão geral de TableAdapter

Criando e editando conjuntos de dados tipados

Visão geral de fontes de dados

Validando dados