如何:获取 DataRow 的特定版本

当更改数据行时,数据集将保存该行的初始版本 (Original) 和新版本 (Current)。 例如,在调用 AcceptChanges 方法之前,您的应用程序可以访问记录的不同版本(如 DataRowVersion 枚举中所定义的版本),并相应地处理更改。

提示

行的不同版本只有在编辑之后和调用 AcceptChanges 之前存在。 在调用 AcceptChanges 方法之后,当前版本和初始版本是相同的。

如果将 DataRowVersion 值与列索引(或作为字符串的列名)一起传递,则将从该列的特定行版本返回值。 已更改的列将在 ColumnChangingColumnChanged 事件过程中进行识别,因此这是为进行验证而检查不同行版本的良好时机。 但是,如果您暂停了约束,将不会引发这些事件,因此您需要以编程方式来识别哪个列已更改。 要完成此操作,可以循环访问 Columns 集合并比较不同的 DataRowVersion 值。

访问 DataRow 的初始版本

获取记录的初始版本

  • 访问传入要返回行的 DataRowVersion 的列的值。

    下面的示例演示如何使用 DataRowVersion 值来获取 DataRow 中的 CompanyName 字段的初始值:

    Dim originalCompanyName = NorthwindDataSet1.Customers(0)(
       "CompanyName", DataRowVersion.Original).ToString()
    
    string originalCompanyName;
    originalCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Original].ToString();
    

访问 DataRow 的当前版本

获取记录的当前版本

  • 访问列的值并将一个参数添加到指示要返回的行版本的索引。

    下面的示例演示如何使用 DataRowVersion 值获取 DataRow 中 CompanyName 字段的当前值:

    Dim currentCompanyName = NorthwindDataSet1.Customers(0)(
        "CompanyName", DataRowVersion.Current).ToString()
    
    string currentCompanyName;
    currentCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Current].ToString();
    

请参见

概念

数据应用程序开发中的新增功能

在 Visual Studio 中将 Windows 窗体控件绑定到数据

在 Visual Studio 中将控件绑定到数据

其他资源

在应用程序中编辑数据

验证数据

保存数据

数据演练

Visual Studio 的数据应用程序概述

连接到 Visual Studio 中的数据

准备应用程序以接收数据

将数据获取到应用程序