Bagikan melalui


DataRowView Kelas

Definisi

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, , OriginalCurrent, 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.

Lihat juga