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 Designer de Conjunto de Dados de Conjunto de Dados cria uma classe parcial onde lógica de validação pode ser adicionada a um conjunto de dados.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 ErrorProvider componente (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

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

  2. Clique duas vezes na coluna que você deseja validar.Essa ação cria o manipulador de eventos ColumnChanging da DataTable.

    Observação:

    O Designer de Conjunto de Dados de Conjunto de Dados não ocorra automaticamente criar um manipulador de eventos para o evento translation from VPE for Csharp.O código necessário para manipular o evento está incluído abaixo.

  3. 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 formulário em um aplicativo do Windows

Como: Validar dados no Controlarar Exibição em Grade de Dados do Windows Forms

Como: Exibir ícones de erro de validação do formulário com o componente Windows Forms ErrorProvider

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

Conceitos

Visão geral do TableAdapter

Dataset Designer

Visão geral sobre fontes de dados

Referência

Janela Fontes de Dados

Outros recursos

Validando Dados