Como obter versões específicas de um DataRowHow to: Get Specific Versions of a DataRow

Note

Este artigo se aplica ao Visual Studio 2015.This article applies to Visual Studio 2015. Se você estiver procurando a documentação do Visual Studio 2017, use o seletor de versão na parte superior esquerda.If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. É recomendável atualizar para o Visual Studio 2017.We recommend upgrading to Visual Studio 2017. Baixe-o aqui.Download it here.

Quando forem feitas alterações a linhas de dados, o conjunto de dados manterá tanto o original (DataRowVersion) e new (DataRowVersion) versões da linha.When changes are made to data rows, the dataset retains both the original (DataRowVersion) and new (DataRowVersion) versions of the row. 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.For example, before calling the AcceptChanges method, your application can access the different versions of a record (as defined in the DataRowVersion enumeration) and process the changes accordingly.

Note

Versões diferentes de uma linha existem somente após ele ter sido editado e antes que tenha tido o AcceptChanges método chamado.Different versions of a row exist only after it has been edited and before it has had the AcceptChanges method called. Após o AcceptChanges método foi chamado, as versões atuais e originais são as mesmas.After the AcceptChanges method has been called, the current and original versions are the same.

Passando o DataRowVersion valor juntamente com o índice da coluna (ou o nome da coluna como uma cadeia de caracteres) retorna o valor da versão de linha específica da coluna.Passing the DataRowVersion value along with the column index (or column name as a string) returns the value from that column's particular row version. A coluna alterada é identificada durante o ColumnChanging e ColumnChanged versões para fins de validação de linha de eventos, portanto, que é um bom momento para inspecionar a diferença.The changed column is identified during the ColumnChanging and ColumnChanged events, so that is a good time to inspect the differing row versions for validation purposes. No entanto, se você tiver temporariamente as restrições suspensas, esses eventos não serão gerados e você precisará identificar programaticamente quais colunas foram alteradas.However, if you have temporarily suspended constraints, those events will not be raised and you will need to programmatically identify which columns have changed. Você pode fazer isso ao iterar por meio de Columns coleta e comparar as diferentes DataRowVersion valores.You can do this by iterating through the Columns collection and comparing the different DataRowVersion values.

Acessando a versão Original de uma DataRowAccessing the Original Version of a DataRow

Para obter a versão original de um registroTo get the original version of a record

  • Acessar o valor de uma coluna passando o DataRowVersion da linha que você deseja retornar.Access the value of a column passing in the DataRowVersion of the row you want to return.

    O exemplo a seguir mostra como você pode usar um DataRowVersion valor para obter o valor original de um CompanyName campo em um DataRow:The following example shows how you can use a DataRowVersion value to get the original value of a CompanyName field in a DataRow:

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

Acessando a versão atual de um DataRowAccessing the Current Version of a DataRow

Para obter a versão atual de um registroTo get the current version of a record

  • Acessar o valor de uma coluna e adicione um parâmetro para o índice que indica qual versão de uma linha que você deseja retornar.Access the value of a column and add a parameter to the index indicating which version of a row you want to return.

    O exemplo a seguir mostra como você pode usar um DataRowVersion valor para obter o valor atual de um CompanyName campo em um DataRow:The following example shows how you can use a DataRowVersion value to get the current value of a CompanyName field in a DataRow:

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

Consulte tambémSee Also

Editando dados no aplicativo Editing Data in Your Application
Validando dados Validating Data
Salvando dados Saving Data
Instruções passo a passo de dados Data Walkthroughs
Associar controles do Windows Forms a dados no Visual Studio Bind Windows Forms controls to data in Visual Studio
Visão geral de aplicativos de dados no Visual Studio Overview of Data Applications in Visual Studio
Conectando-se a dados no Visual Studio Connecting to Data in Visual Studio
Preparando o aplicativo para receber dados Preparing Your Application to Receive Data
Buscando dados no aplicativo Fetching Data into Your Application
Associar controles a dados no Visual StudioBind controls to data in Visual Studio