Compartilhar via


Como obter versões específicas de um DataRow

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

Dica

Existem versões diferentes de uma linha somente após ela ter sido editada e antes que o método AcceptChanges seja chamado.Depois que o método AcceptChanges tiver sido chamado, as versões atuais e originais ficam iguais.

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

Acessando a versão original de uma DataRow

Para obter a versão original de um registro

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

    O exemplo a seguir mostra como é possível usar um valor DataRowVersion para obter o valor original de um campo CompanyName em um DataRow:

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

Acessando 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ê deseja retornar.

    O exemplo a seguir mostra como é possível usar um valor de DataRowVersion para obter o valor atual de um campo CompanyName em 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

Editando dados no aplicativo

Validando dados

Salvando dados

Associando controles dos Windows Forms a dados no Visual Studio

Preparando o aplicativo para receber dados

Buscando dados no aplicativo

Associando controles a dados no Visual Studio

Outros recursos

Instruções passo a passo de dados

Visão geral de aplicativos de dados no Visual Studio

Conectando a dados no Visual Studio