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
Associando controles dos Windows Forms a dados no Visual Studio
Preparando o aplicativo para receber dados
Associando controles a dados no Visual Studio
Outros recursos
Instruções passo a passo de dados