Como: Obtenha as versões específicas de uma DataRow

Quando alterações são feitas para linhas de dados, o conjunto de dados manterá tanto o original (Original) e novas versões de linha (Current). Por exemplo, antes de chamar o método AcceptChanges,seu aplicativo pode acessar as versões diferentes de um registro (conforme definido na enumeração DataRowVersion)e processar as alterações de acordo.

ObservaçãoObservação

Versões diferentes de uma linha existem somente após ela ter sido editada e antes que tenha tido o método chamado AcceptChanges. Depois que o método AcceptChanges tiver sido chamado, as versões atuais e originais são as mesmas.

Passar o valor DataRowVersion junto com o índice da coluna (ou nome da coluna como uma sequência) retorna o valor de versão linha específica do coluna. A coluna alterada é identificada durante a ColumnChanging e ColumnChanged eventos, portanto, que é um bom momento para inspecionar a diferença linha versões para fins de validação. Entretanto, se temporariamente você tiver as restrições suspensas, esses eventos não serão gerados e você precisará programaticamente identificar quais colunas foram alteradas. Isso pode feito Iterando através da coleção Columns e comparando os valores DataRowVersion diferentes.

Acessar a Versão Original de uma DataRow

Para obter a versão original de um registro

  • Acessar o valor de uma coluna passando na caixa DataRowVersion da linha que você deseja retornar.

    O exemplo a seguir mostra como você pode usar um valor DataRowVersion para obter o valor original de um CompanyName campo de um DataRow:

    Dim originalCompanyName = NorthwindDataSet1.Customers(0)(
       "CompanyName", DataRowVersion.Original).ToString()
    
    string originalCompanyName;
    originalCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Original].ToString();
    

Acessar a Versão Atual de uma DataRow

Para obter a versão atual de um registro

  • Acesse o valor de uma coluna e adicione um parâmetro ao índice que indica qual a versão de uma linha você quer retornar.

    O exemplo a seguir mostra como você pode usar um valor DataRowVersion para obter o valor original de um CompanyName campo de um DataRow:

    Dim currentCompanyName = NorthwindDataSet1.Customers(0)(
        "CompanyName", DataRowVersion.Current).ToString()
    
    string currentCompanyName;
    currentCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Current].ToString();
    

Consulte também

Conceitos

O que há de novo no desenvolvimento de aplicativos de dados

Vinculação de controles do Windows Forms a dados em Visual Studio

Controles de vinculação de dados de Visual Studio

Outros recursos

Editar dados no seu aplicativo

Validando Dados

Salvando dados

Explicações Passo a passo sobre Dados

Visão geral dos aplicativos de dados em Visual Studio

Conectando-se a Dados no Visual Studio

Preparando seu aplicativo para receber dados

Buscando dados em seu aplicativo