Практическое руководство. Получение определенных версий объекта DataRow
При внесении изменений в строки данных набор данных сохраняет исходные (Original) и новые (Current) версии строк.Например, до вызова метода AcceptChanges приложение может обращаться к разным версиям записи (что определяется в перечислении DataRowVersion) и соответственно обрабатывать изменения.
Примечание |
---|
Разные версии строки существуют только после ее изменения и до вызова метода AcceptChanges для этой строки.После вызова метода AcceptChanges текущая и исходная версии становятся идентичными. |
Передача значения DataRowVersion вместе с индексом столбца (или с именем столбца как строки) возвращает значение от версии отдельной строки этого столбца.Измененный столбец идентифицируется во время событий ColumnChanging и ColumnChanged. Таким образом, на этом этапе в целях проверки удобнее всего просмотреть различия в версиях строк.Однако если есть временно приостановленные ограничения, эти события не будут инициироваться. Потребуется программно идентифицировать измененные столбцы.Это можно сделать путем итерации всех элементов коллекции Columns и сравнения различных значений DataRowVersion.
Доступ к исходной версии DataRow
Для получения исходной версии записи:
Получить доступ к значению столбца, передав DataRowVersion строку, которую нужно вернуть.
В следующем примере показано, как можно использовать значение DataRowVersion для получения исходного значения поля CompanyName в DataRow:
Dim originalCompanyName = NorthwindDataSet1.Customers(0)( "CompanyName", DataRowVersion.Original).ToString()
string originalCompanyName; originalCompanyName = northwindDataSet1.Customers[0] ["CompanyName", DataRowVersion.Original].ToString();
Доступ к текущей версии DataRow
Для получения текущей версии записи:
Получите доступ к значению столбца и добавьте параметр к индексу, обозначающему, какую версию строки нужно возвратить.
В следующем примере показано, как можно использовать значение DataRowVersion для получения текущего значения поля CompanyName в DataRow:
Dim currentCompanyName = NorthwindDataSet1.Customers(0)( "CompanyName", DataRowVersion.Current).ToString()
string currentCompanyName; currentCompanyName = northwindDataSet1.Customers[0] ["CompanyName", DataRowVersion.Current].ToString();
См. также
Основные понятия
Редактирование данных в приложении
Новые возможности разработки приложений для работы с данными в Visual Studio 2012
Привязка элементов управления Windows Forms к данным в Visual Studio
Подготовка приложения к получению данных
Привязка элементов управления к данным в Visual Studio
Другие ресурсы
Пошаговые руководства работы с данными
Общие сведения о приложениях для работы с данными в Visual Studio