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)
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.
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#)
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.
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.
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
Eventos (Guia de Programação em C#)
Conceitos
Criando e editando conjuntos de dados tipados
Visão geral de fontes de dados