DataRowVersion Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menjelaskan versi DataRow.
public enum class DataRowVersion
public enum DataRowVersion
type DataRowVersion =
Public Enum DataRowVersion
- Warisan
Bidang
Current | 512 | Baris berisi nilai saat ini. |
Default | 1536 | Versi default .DataRowState |
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 danProposed
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 identikCurrent
dengan nilai .Setelah memanggil DataTable metode objek AcceptChanges , nilainya
Original
menjadi identikCurrent
dengan nilai .Setelah memanggil DataRow metode objek RejectChanges , nilai dibuang
Proposed
, dan versinya menjadiCurrent
.