如何:获取 DataRow 的特定版本
当更改数据行时,数据集将保存该行的初始版本 (Original) 和新版本 (Current)。例如,在调用 AcceptChanges 方法之前,您的应用程序可以访问记录的不同版本(如 DataRowVersion 枚举中所定义的版本),并相应地处理更改。
![]() |
---|
行的不同版本只有在编辑之后和调用 AcceptChanges 之前存在。在调用 AcceptChanges 方法之后,当前版本和初始版本是相同的。 |
如果将 DataRowVersion 值与列索引(或作为字符串的列名)一起传递,则将从该列的特定行版本返回值。已更改的列将在 ColumnChanging 和 ColumnChanged 事件过程中进行识别,因此这是为进行验证而检查不同行版本的良好时机。但是,如果您暂停了约束,将不会引发这些事件,因此您需要以编程方式来识别哪个列已更改。要完成此操作,可以循环访问 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 2012 中针对数据应用程序开发的新增功能
在 Visual Studio 中将 Windows 窗体控件绑定到数据