DataRowView Kelas
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.
Mewakili tampilan yang DataRowdisesuaikan dari .
public ref class DataRowView : System::ComponentModel::ICustomTypeDescriptor, System::ComponentModel::IDataErrorInfo, System::ComponentModel::IEditableObject, System::ComponentModel::INotifyPropertyChanged
public ref class DataRowView : System::ComponentModel::ICustomTypeDescriptor, System::ComponentModel::IDataErrorInfo, System::ComponentModel::IEditableObject
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject, System.ComponentModel.INotifyPropertyChanged
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject
type DataRowView = class
interface ICustomTypeDescriptor
interface IDataErrorInfo
interface IEditableObject
interface INotifyPropertyChanged
type DataRowView = class
interface ICustomTypeDescriptor
interface IEditableObject
interface IDataErrorInfo
type DataRowView = class
interface ICustomTypeDescriptor
interface IEditableObject
interface IDataErrorInfo
interface INotifyPropertyChanged
Public Class DataRowView
Implements ICustomTypeDescriptor, IDataErrorInfo, IEditableObject, INotifyPropertyChanged
Public Class DataRowView
Implements ICustomTypeDescriptor, IDataErrorInfo, IEditableObject
- Warisan
-
DataRowView
- Penerapan
Contoh
Contoh berikut menggunakan RowVersion properti untuk menentukan status baris di DataRowView. (Lihat RowFilter untuk contoh lain menggunakan DataRowView.)
private static void DemonstrateRowVersion()
{
// Create a DataTable with one column.
DataTable table = new DataTable("Table");
DataColumn column = new DataColumn("Column");
table.Columns.Add(column);
// Add ten rows.
DataRow row;
for (int i = 0; i < 10; i++)
{
row = table.NewRow();
row["Column"] = "item " + i;
table.Rows.Add(row);
}
table.AcceptChanges();
// Create a DataView with the table.
DataView view = new DataView(table);
// Change one row's value:
table.Rows[1]["Column"] = "Hello";
// Add one row:
row = table.NewRow();
row["Column"] = "World";
table.Rows.Add(row);
// Set the RowStateFilter to display only added
// and modified rows.
view.RowStateFilter = DataViewRowState.Added |
DataViewRowState.ModifiedCurrent;
// Print those rows. Output includes "Hello" and "World".
PrintView(view, "ModifiedCurrent and Added");
// Set filter to display only originals of modified rows.
view.RowStateFilter = DataViewRowState.ModifiedOriginal;
PrintView(view, "ModifiedOriginal");
// Delete three rows.
table.Rows[1].Delete();
table.Rows[2].Delete();
table.Rows[3].Delete();
// Set the RowStateFilter to display only deleted rows.
view.RowStateFilter = DataViewRowState.Deleted;
PrintView(view, "Deleted");
// Set filter to display only current rows.
view.RowStateFilter = DataViewRowState.CurrentRows;
PrintView(view, "Current");
// Set filter to display only unchanged rows.
view.RowStateFilter = DataViewRowState.Unchanged;
PrintView(view, "Unchanged");
// Set filter to display only original rows.
// Current values of unmodified rows are also returned.
view.RowStateFilter = DataViewRowState.OriginalRows;
PrintView(view, "OriginalRows");
}
private static void PrintView(DataView view, string label)
{
Console.WriteLine("\n" + label);
for (int i = 0; i < view.Count; i++)
{
Console.WriteLine(view[i]["Column"]);
Console.WriteLine("DataViewRow.RowVersion: {0}",
view[i].RowVersion);
}
}
Private Sub DemonstrateRowVersion()
Dim i As Integer
' Create a DataTable with one column.
Dim table As New DataTable("Table")
Dim column As New DataColumn("Column")
table.Columns.Add(column)
' Add ten rows.
Dim row As DataRow
For i = 0 To 9
row = table.NewRow()
row("Column") = "item " + i.ToString()
table.Rows.Add(row)
Next i
table.AcceptChanges()
' Create a DataView with the table.
Dim view As New DataView(table)
' Change one row's value:
table.Rows(1)("Column") = "Hello"
' Add one row:
row = table.NewRow()
row("Column") = "World"
table.Rows.Add(row)
' Set the RowStateFilter to display only added and modified rows.
view.RowStateFilter = _
DataViewRowState.Added Or DataViewRowState.ModifiedCurrent
' Print those rows. Output includes "Hello" and "World".
PrintView(view, "ModifiedCurrent and Added")
' Set filter to display only originals of modified rows.
view.RowStateFilter = DataViewRowState.ModifiedOriginal
PrintView(view, "ModifiedOriginal")
' Delete three rows.
table.Rows(1).Delete()
table.Rows(2).Delete()
table.Rows(3).Delete()
' Set the RowStateFilter to display only deleted rows.
view.RowStateFilter = DataViewRowState.Deleted
PrintView(view, "Deleted")
' Set filter to display only current rows.
view.RowStateFilter = DataViewRowState.CurrentRows
PrintView(view, "Current")
' Set filter to display only unchanged rows.
view.RowStateFilter = DataViewRowState.Unchanged
PrintView(view, "Unchanged")
' Set filter to display only original rows.
' Current values of unmodified rows are also returned.
view.RowStateFilter = DataViewRowState.OriginalRows
PrintView(view, "OriginalRows")
End Sub
Private Sub PrintView(ByVal view As DataView, ByVal label As String)
Console.WriteLine(ControlChars.Cr + label)
Dim i As Integer
For i = 0 To view.Count - 1
Console.WriteLine(view(i)("Column"))
Console.WriteLine("DataRowView.RowVersion: {0}", _
view(i).RowVersion)
Next i
End Sub
Keterangan
Setiap kali data ditampilkan, seperti dalam DataGrid kontrol, hanya satu versi dari setiap baris yang dapat ditampilkan. Baris yang ditampilkan adalah DataRowView.
dapat DataRowView memiliki salah satu dari empat status versi yang berbeda: Default
, , Original
Current
, dan Proposed
.
Setelah memanggil pada DataRow, nilai yang diedit BeginEdit menjadi Proposed
nilai . Hingga atau CancelEditEndEdit dipanggil, baris memiliki Original
dan Proposed
versi. Jika CancelEdit dipanggil, versi yang diusulkan akan dibuang, dan nilainya kembali ke Original
. Jika EndEdit dipanggil, DataRowView tidak lagi memiliki Proposed
versi; sebagai gantinya, nilai yang diusulkan menjadi nilai saat ini. Nilai default hanya tersedia pada baris yang memiliki kolom dengan nilai default yang ditentukan.
Properti
DataView |
Mendapatkan tempat DataView baris ini berada. |
IsEdit |
Menunjukkan apakah baris dalam mode edit. |
IsNew |
Menunjukkan apakah a DataRowView baru. |
Item[Int32] |
Mendapatkan atau menetapkan nilai dalam kolom tertentu. |
Item[String] |
Mendapatkan atau menetapkan nilai dalam kolom tertentu. |
Row |
Mendapatkan yang DataRow sedang dilihat. |
RowVersion |
Mendapatkan deskripsi versi saat ini dari DataRow. |
Metode
BeginEdit() |
Memulai prosedur edit. |
CancelEdit() |
Membatalkan prosedur edit. |
CreateChildView(DataRelation) |
Mengembalikan DataView untuk anak DataTable dengan anak DataRelationyang ditentukan. |
CreateChildView(DataRelation, Boolean) |
Mengembalikan DataView untuk anak DataTable dengan yang ditentukan DataRelation dan induk. |
CreateChildView(String) |
Mengembalikan DataView untuk anak DataTable dengan nama anak DataRelation yang ditentukan. |
CreateChildView(String, Boolean) |
Mengembalikan DataView untuk anak DataTable dengan nama dan induk yang ditentukan DataRelation . |
Delete() |
Menghapus baris. |
EndEdit() |
Menerapkan perubahan pada yang mendasar DataRow dan mengakhiri sesi pengeditan yang dimulai dengan BeginEdit(). Gunakan CancelEdit() untuk membuang perubahan yang dibuat pada DataRow. |
Equals(Object) |
Mendapatkan nilai yang menunjukkan apakah saat ini DataRowView identik dengan objek yang ditentukan. |
GetHashCode() |
Mengembalikan kode DataRow hash objek. |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Acara
PropertyChanged |
Peristiwa yang dinaikkan saat DataRowView properti diubah. |
Implementasi Antarmuka Eksplisit
ICustomTypeDescriptor.GetAttributes() |
Mengembalikan kumpulan atribut kustom untuk instans komponen ini. |
ICustomTypeDescriptor.GetClassName() |
Mengembalikan nama kelas instans komponen ini. |
ICustomTypeDescriptor.GetComponentName() |
Mengembalikan nama instans komponen ini. |
ICustomTypeDescriptor.GetConverter() |
Mengembalikan pengonversi jenis untuk instans komponen ini. |
ICustomTypeDescriptor.GetDefaultEvent() |
Mengembalikan peristiwa default untuk instans komponen ini. |
ICustomTypeDescriptor.GetDefaultProperty() |
Mengembalikan properti default untuk instans komponen ini. |
ICustomTypeDescriptor.GetEditor(Type) |
Mengembalikan editor dari jenis yang ditentukan untuk instans komponen ini. |
ICustomTypeDescriptor.GetEvents() |
Mengembalikan peristiwa untuk instans komponen ini. |
ICustomTypeDescriptor.GetEvents(Attribute[]) |
Mengembalikan peristiwa untuk instans komponen ini dengan atribut tertentu. |
ICustomTypeDescriptor.GetProperties() |
Mengembalikan properti untuk instans komponen ini. |
ICustomTypeDescriptor.GetProperties(Attribute[]) |
Mengembalikan properti untuk instans komponen ini dengan atribut yang ditentukan. |
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Mengembalikan objek yang berisi properti yang dijelaskan oleh pendeskripsi properti yang ditentukan. |
IDataErrorInfo.Error |
Mendapatkan pesan yang menjelaskan kesalahan validasi apa pun untuk objek tersebut. |
IDataErrorInfo.Item[String] |
Mendapatkan pesan kesalahan untuk properti dengan nama yang diberikan. |
Berlaku untuk
Keamanan Thread
Jenis ini aman untuk operasi baca multithreaded. Anda harus menyinkronkan operasi tulis apa pun.