Compartilhar via


Como obter versões específicas de um DataRow

 

Publicado: agosto de 2016

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

Dica

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

Passando o DataRowVersion valor 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 a ColumnChanging e ColumnChanged eventos, portanto, que é um bom momento para inspecionar a diferença linha versões para fins de validação. No entanto, se você temporariamente suspenso restrições, esses eventos não serão gerados e você precisará programaticamente identificar quais colunas foram alteradas. Você pode fazer isso, iterando através de Columns coleta e comparando os diferentes DataRowVersion valores.

Acessar a versão Original de um DataRow

Para obter a versão original de um registro

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

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

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

Acessar a versão atual de um DataRow

Para obter a versão atual de um registro

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

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

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

Consulte também

Editando dados no aplicativo
Validando dados
Salvando dados
Instruções passo a passo de dados
Associar controles dos Windows Forms a dados no Visual Studio
Visão geral de aplicativos de dados no Visual Studio
Conectando a dados no Visual Studio
Preparando o aplicativo para receber dados
Buscando dados no aplicativo
Associar controles a dados no Visual Studio