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