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
Abra o DataSet no Dataset Designer. Para obter mais informações, consulte Como abrir um conjunto de dados no Designer de Conjunto de Dados.
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.
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 conectar a dados em um banco de dados
Referência
Conceitos
Criando e editando conjuntos de dados tipados