Compartilhar via


Como validar dados durante alterações de linha

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

Dica

O Designer de Conjunto de Dados cria uma classe parcial onde a lógica de validação pode ser adicionada a um conjunto de dados.O conjunto de dados gerado pelo designer não excluirá ou alterará qualquer código na classe parcial.

É possível validar os dados quando os valores em uma linha de dados forem alterados, respondendo ao evento RowChanging. Quando gerado, esse evento passa um argumento de 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, é possível:

  • Aceite o valor proposto, sem fazer nada.

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

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

Também é possível 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 em coluna.

Validando os dados no evento RowChanging

É possível gravar o código para verificar se cada coluna que você deseja validar contém dados que atendam aos requisitos do aplicativo. Se o valor proposto for 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 ser semelhantes aos exemplos a seguir.

Para validar os dados ao alterar uma linha (Visual Basic)

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

  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 conjunto de dados.

    Dica

    Clique duas vezes à esquerda do nome da tabela para criar o manipulador de eventos de alteração de linha.Se você clicar duas vezes o nome da tabela, será possível 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 os dados ao alterar uma linha (C#)

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

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

    Dica

    O Designer de Conjunto de Dados não cria automaticamente um manipulador de eventos para o evento RowChanging.É preciso 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 a dados em um banco de dados

Como validar dados durante alterações em coluna

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

Referência

Janela Fontes de Dados

Eventos (Guia de Programação em C#)

Conceitos

Visão geral de TableAdapter

Criando e editando conjuntos de dados tipados

Visão geral de fontes de dados

Validando dados

Outros recursos

Instruções passo a passo de dados