Bagikan melalui


DataRowVersion Enum

Definisi

Menjelaskan versi DataRow.

public enum class DataRowVersion
public enum DataRowVersion
type DataRowVersion = 
Public Enum DataRowVersion
Warisan
DataRowVersion

Bidang

Current 512

Baris berisi nilai saat ini.

Default 1536

Versi default .DataRowState DataRowState Untuk nilai Added, Modified atau Deleted, versi defaultnya adalah Current. DataRowState Untuk nilai Detached, versinya adalah Proposed.

Original 256

Baris berisi nilai aslinya.

Proposed 1024

Baris berisi nilai yang diusulkan.

Contoh

Contoh berikut memeriksa DataRowVersion dari DataRow sebelum memanggil AcceptChanges metode .

private static void CheckVersionBeforeAccept()
{
    //Run a function to create a DataTable with one column.
    DataTable dataTable = MakeTable();

    DataRow 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)) {
        if (object.ReferenceEquals(dataRow[0, DataRowVersion.Current], dataRow[0, DataRowVersion.Proposed])) {
            Console.WriteLine("The original and the proposed are the same.");
            dataRow.CancelEdit();
        } else {
            dataRow.AcceptChanges();
            Console.WriteLine("The original and the proposed are different.");
        }
    }
}

private static DataTable MakeTable()
{
    // Make a simple table with one column.
    DataTable dt = new DataTable("dataTable");
    DataColumn firstName = new DataColumn("FirstName", Type.GetType("System.String"));
    dt.Columns.Add(firstName);
    return dt;
}
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

Keterangan

Nilai DataRowVersion digunakan saat mengambil nilai yang DataRow ditemukan dalam penggunaan Item[] atau GetChildRowsDataRow objek .

memberi DataRowVersion tahu Anda versi apa yang DataRow ada. Versi berubah dalam keadaan berikut:

  • Setelah memanggil DataRow metode objek BeginEdit , jika Anda mengubah nilai, Current nilai dan Proposed menjadi tersedia.

  • Setelah memanggil DataRow metode objek CancelEdit , Proposed nilai akan dihapus.

  • Setelah memanggil DataRow metode objek EndEdit , nilai Yang diusulkan menjadi Current nilai .

  • Setelah memanggil DataRow metode objek AcceptChanges , nilainya Original menjadi identik Current dengan nilai .

  • Setelah memanggil DataTable metode objek AcceptChanges , nilainya Original menjadi identik Current dengan nilai .

  • Setelah memanggil DataRow metode objek RejectChanges , nilai dibuang Proposed , dan versinya menjadi Current.

Berlaku untuk

Lihat juga