閱讀英文

共用方式為


DataRowVersion 列舉

定義

說明 DataRow 的版本。

C#
public enum DataRowVersion
繼承
DataRowVersion

欄位

名稱 Description
Current 512

資料列包含目前的值。

Default 1536

DataRowState 的預設版本。 針對 AddedModifiedDeletedDataRowState 值,預設版本是 Current。 針對 DetachedDataRowState 值,版本是 Proposed

Original 256

資料列包含其原始值。

Proposed 1024

資料列包含建議值。

範例

下列範例會在叫用 方法之前檢查 DataRowVersionDataRowAcceptChanges

C#
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擷取 在 DataRow 中找到的值時Item[],會使用 或 GetChildRowsDataRow 物件的 。

DataRowVersion 通知您存在哪個版本的 DataRow 。 在下列情況下,版本會變更:

  • 呼叫 DataRow 物件的 BeginEdit 方法之後,如果您變更值, CurrentProposed 值就會變成可用。

  • 呼叫 DataRow 物件的 CancelEdit 方法之後,會 Proposed 刪除值。

  • 呼叫 DataRow 物件的 EndEdit 方法之後,建議的值會 Current 變成 值。

  • 呼叫 DataRow 物件的 AcceptChanges 方法之後,值 Original 會變成與 Current 值相同的值。

  • 呼叫 DataTable 物件的 AcceptChanges 方法之後,值 Original 會變成與 Current 值相同的值。

  • 呼叫 DataRow 物件的 RejectChanges 方法之後,會 Proposed 捨棄值,而版本會 Current變成 。

適用於

產品 版本
.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

另請參閱