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