DataRowVersion 枚举

描述 DataRow 的版本。

**命名空间:**System.Data
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Public Enumeration DataRowVersion
用法
Dim instance As DataRowVersion
public enum DataRowVersion
public enum class DataRowVersion
public enum DataRowVersion
public enum DataRowVersion

成员

  成员名称 说明
由 .NET Compact Framework 支持 Current 该行中包含当前值。 
由 .NET Compact Framework 支持 Default DataRowState 的默认版本。对于 AddedModifiedCurrentDataRowState 值,默认版本是 Deleted。对于 DetachedDataRowState 值,该版本是 Proposed。 
由 .NET Compact Framework 支持 Original 该行中包含其原始值。 
由 .NET Compact Framework 支持 Proposed 该行中包含建议值。 

备注

当使用 ItemDataRow 对象的 GetChildRows 检索在 DataRow 中找到的值时,使用 DataRowVersion 值。

DataRowVersion 向您通知存在 DataRow 的哪个版本。版本在以下情况下发生更改:

  • 在调用 DataRow 对象的 BeginEdit 方法之后,如果更改该值,则 CurrentProposed 值变得可用。

  • 在调用 DataRow 对象的 CancelEdit 方法之后,Proposed 值将被删除。

  • 在调用 DataRow 对象的 EndEdit 方法之后,Proposed 值变成 Current 值。

  • 在调用 DataRow 对象的 AcceptChanges 方法之后,Original 值变得与 Current 值相同。

  • 在调用 DataTable 对象的 AcceptChanges 方法之后,Original 值变得与 Current 值相同。

  • 在调用 DataRow 对象的 RejectChanges 之后,Proposed 值将被丢弃,版本变成 Current

示例

下面的示例在调用 AcceptChanges 方法之前检查 DataRowDataRowVersion

Private Sub CheckVersionBeforeAccept()
    'Run a function to create a DataTable with one column.
    Dim dataTable As DataTable = MakeTable()

    Dim dataRow As DataRow = dataTable.NewRow()
    dataRow("FirstName") = "Marcy"
    dataTable.Rows.Add(dataRow)

    dataRow.BeginEdit()
    ' Edit data but keep the same value.
    dataRow(0) = "Marcy"
    ' Uncomment the following line to add a new value.
    ' dataRow(0) = "Richard"
    Console.WriteLine(String.Format("FirstName {0}", dataRow(0)))

    ' Compare the proposed version with the current.
    If dataRow.HasVersion(DataRowVersion.Proposed) Then
        If dataRow(0, DataRowVersion.Current) Is dataRow(0, DataRowVersion.Proposed) Then
            Console.WriteLine("The original and the proposed are the same.")
            dataRow.CancelEdit()
        Else
            dataRow.AcceptChanges()
            Console.WriteLine("The original and the proposed are different.")
        End If
    End If
End Sub

Private Function MakeTable() As DataTable
    ' Make a simple table with one column.
    Dim dt As New DataTable("dataTable")
    Dim firstName As New DataColumn("FirstName", _
       Type.GetType("System.String"))
    dt.Columns.Add(firstName)
    Return dt
End Function

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

System.Data 命名空间
AcceptChanges
BeginEdit
EndEdit
Item
RejectChanges