英語で読む

次の方法で共有


DataRowVersion 列挙型

定義

DataRow のバージョンを記述します。

public enum DataRowVersion
継承
DataRowVersion

フィールド

Current 512

行には、現在の値が含まれています。

Default 1536

DataRowState の既定のバージョン。 DataRowState の値が AddedModified、または Deleted の場合、既定バージョンは Current です。 DetachedDataRowState 値の場合、バージョンは Proposed です。

Original 256

行には、元の値が含まれています。

Proposed 1024

行には、提案値が含まれています。

次の例では、 メソッドをDataRowVersionDataRow呼び出す前に の をAcceptChanges確認します。

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;
}

注釈

値はDataRowVersion、 オブジェクトの using または GetChildRowsDataRow で見つかった値をDataRow取得するときに使用Item[]されます。

DataRowVersion 、存在する のバージョンを DataRow 通知します。 バージョンは、次の状況で変更されます。

  • オブジェクトの メソッドをDataRow呼び出した後、値を変更すると、 と Proposed の値がCurrent使用可能BeginEditになります。

  • オブジェクトCancelEditの メソッドをDataRow呼び出すと、Proposed値が削除されます。

  • オブジェクトの EndEdit メソッドをDataRow呼び出すと、Proposed 値がCurrent値になります。

  • オブジェクトの メソッドをDataRow呼び出すと、値は Original 値とCurrent同じAcceptChangesになります。

  • オブジェクトの メソッドをDataTable呼び出すと、値は Original 値とCurrent同じAcceptChangesになります。

  • オブジェクトの メソッドをDataRow呼び出すと、Proposed値は破棄され、バージョンは になりますCurrentRejectChanges

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください