如何:获取 DataRow 的特定版本

 

发布时间: 2016年7月

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

备注

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

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

访问 DataRow 的初始版本

获取记录的初始版本

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

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

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

访问 DataRow 的当前版本

获取记录的当前版本

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

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

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

请参阅

在应用程序中编辑数据
验证数据
保存数据
数据演练
在 Visual Studio 中将 Windows 窗体控件绑定到数据
Visual Studio 的数据应用程序概述
连接到 Visual Studio 中的数据
准备应用程序以接收数据
将数据获取到应用程序
在 Visual Studio 中将控件绑定到数据