Como: Validar dados durante alterações de 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.
Observaçã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. Para obter mais informações, consulte Como: Estender a funcionalidade de um Dataset.. |
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 ErrorProvider Component (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: Abra um Dataset no Dataset Designer.
Clique duas vezes na coluna que você deseja validar. Essa ação cria o manipulador de eventos ColumnChanging da DataTable.
Observação 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
Demonstra Passo a passo: Exibindo dados em um Windows Form
Como: Validar dados em Windows Forms DataGridView Control
Como: Conectar-se a Dados em um Banco de Dados
Referência
Conceitos
Visão geral sobre fontes de dados