Como: Validar dados durante alterações de linha

Validação de dados é o processo de verificação dos valores sendo inseridos em seus dados de aplicativos. É uma boa prática verificar esses valores antes de mandar as atualizações ao armazenamento de dados subjacente. Isso reduz o número potencial de processamentos entre um aplicativo e o armazenamento de dados.

ObservaçãoObservação

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.

Você pode validar os dados quando os valores em uma linha de dados mudam respondendo ao evento RowChanging. Quando gerado, esse evento passa um argumento do evento (e.Row) que contém os valores que estão sendo propostos para cada coluna na linha atual. Com base no conteúdo de cada coluna no e.Row, 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 ErrorProvider Component (Windows Forms).

Você também pode executar a validação durante alterações de colunas individuais usando o evento ColumnChanging. Para obter mais informações, consulte Como: Validar dados durante alterações de coluna.

Validar Dados no Evento RowChanging

Você pode escrever código para verificar se cada coluna que você deseja validar contém dados que atendam aos requisitos do seu aplicativo. Se o valor proposto é inaceitável, configure a coluna para indicar que ele contém um erro. Os exemplos a seguir definem um erro de coluna quando a coluna Quantity é 0 ou menos. Os manipuladores de eventos de alteração de linha devem se parecer com os exemplos a seguir.

Para validar dados quando uma linha altera (Visual Basic)

  1. Abra o DataSet no Dataset Designer. Para obter mais informações, consulte Como: Abra um Dataset no Dataset Designer.

  2. Clique duas vezes na barra de título da tabela que você deseja validar. Essa ação cria automaticamente o manipulador de eventos RowChanging da DataTable no arquivo de classe parcial do DataSet.

    Dica

    Clique duas vezes para a esquerda no nome da tabela para criar o manipulador de eventos de linha alterada. Se você clicar duas vezes o nome da tabela, você pode editar o nome da tabela.

    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
    

Para validar dados quando uma linha altera (C#)

  1. Abra o DataSet no Dataset Designer. Para obter mais informações, consulte Como: Abra um Dataset no Dataset Designer.

  2. Clique duas vezes na barra de título da tabela que você deseja validar. Essa ação cria um arquivo de classe parcial para a DataTable.

    ObservaçãoObservação

    O Dataset Designer não cria automaticamente um manipulador de eventos para o evento RowChanging. Você precisa criar um método para manipular o evento RowChanging e executar o código para ligar o evento no método de inicialização da tabela.

  3. Copie o código a seguir na classe parcial:

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

Consulte também

Tarefas

Como: Conectar-se a Dados em um Banco de Dados

Como: Validar dados durante alterações de coluna

Demonstra Passo a passo: Exibindo dados em um Windows Form

Referência

Janela Fontes de Dados

Eventos (Guia de programação do C#)

Conceitos

O que há de novo no desenvolvimento de aplicativos de dados

Visão geral do TableAdapter

Dataset Designer

Visão geral sobre fontes de dados

Outros recursos

Explicações Passo a passo sobre Dados

Validando Dados