Поделиться через


Практическое руководство. Получение определенных версий объекта 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

Подключение к данным в Visual Studio