DataRowView Sınıf

Tanım

özelleştirilmiş bir görünümünü DataRowtemsil eder.

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
Devralma
DataRowView
Uygulamalar

Örnekler

Aşağıdaki örnek, RowVersion içindeki bir satırın DataRowViewdurumunu belirlemek için özelliğini kullanır. (Kullanarak başka bir örnek DataRowViewiçin bkzRowFilter. .)

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

Açıklamalar

Denetimde DataGrid olduğu gibi veriler her görüntülendiğinde, her satırın yalnızca bir sürümü görüntülenebilir. Görüntülenen satır bir DataRowViewşeklindedir.

, DataRowView , OriginalCurrentve Proposedolmak üzere Defaultdört farklı sürüm durumlarından birine sahip olabilir.

üzerinde çağrıldıktan BeginEdit sonra, düzenlenen tüm değerler değer olurProposed.DataRow CancelEdit veya EndEdit çağrılana kadar satırın bir Original ve Proposed sürümü vardır. Çağrılırsa CancelEdit , önerilen sürüm atılır ve değer değerine Originalgeri döner. Çağrılırsa EndEdit , DataRowView artık bir Proposed sürümü yoktur; bunun yerine önerilen değer geçerli değer olur. Varsayılan değerler yalnızca varsayılan değerleri tanımlanmış sütunları olan satırlarda kullanılabilir.

Özellikler

DataView

Bu satırın DataView ait olduğu değeri alır.

IsEdit

Satırın düzenleme modunda olup olmadığını gösterir.

IsNew

a'nın DataRowView yeni olup olmadığını gösterir.

Item[Int32]

Belirtilen bir sütunda bir değeri alır veya ayarlar.

Item[String]

Belirtilen bir sütunda bir değeri alır veya ayarlar.

Row

DataRow Görüntüleneni alır.

RowVersion

öğesinin geçerli sürüm açıklamasını DataRowalır.

Yöntemler

BeginEdit()

Düzenleme yordamını başlatır.

CancelEdit()

Düzenleme yordamını iptal eder.

CreateChildView(DataRelation)

Belirtilen DataRelationalt öğeye sahip alt öğe DataTable için bir DataView döndürür.

CreateChildView(DataRelation, Boolean)

Belirtilen DataRelation ve üst öğeye sahip alt öğe DataTable için bir DataView döndürür.

CreateChildView(String)

Belirtilen DataRelation alt ada sahip alt öğe DataTable için bir DataView döndürür.

CreateChildView(String, Boolean)

Belirtilen DataRelation ada ve üst öğeye sahip alt öğe DataTable için bir DataView döndürür.

Delete()

Satırı siler.

EndEdit()

Değişiklikleri temel alınana DataRow işler ve ile BeginEdit()başlayan düzenleme oturumunu sonlandırır. dosyasında yapılan değişiklikleri atmak için DataRowkullanınCancelEdit().

Equals(Object)

Geçerli DataRowView değerin belirtilen nesneyle aynı olup olmadığını belirten bir değer alır.

GetHashCode()

Nesnesinin karma kodunu DataRow döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Ekinlikler

PropertyChanged

Bir DataRowView özellik değiştirildiğinde tetiklenen olay.

Belirtik Arabirim Kullanımları

ICustomTypeDescriptor.GetAttributes()

Bir bileşenin bu örneği için özel özniteliklerden oluşan bir koleksiyon döndürür.

ICustomTypeDescriptor.GetClassName()

Bir bileşenin bu örneğinin sınıf adını döndürür.

ICustomTypeDescriptor.GetComponentName()

Bir bileşenin bu örneğinin adını döndürür.

ICustomTypeDescriptor.GetConverter()

Bir bileşenin bu örneği için tür dönüştürücüsü döndürür.

ICustomTypeDescriptor.GetDefaultEvent()

Bir bileşenin bu örneği için varsayılan olayı döndürür.

ICustomTypeDescriptor.GetDefaultProperty()

Bir bileşenin bu örneği için varsayılan özelliği döndürür.

ICustomTypeDescriptor.GetEditor(Type)

Bir bileşenin bu örneği için belirtilen türde bir düzenleyici döndürür.

ICustomTypeDescriptor.GetEvents()

Bir bileşenin bu örneği için olayları döndürür.

ICustomTypeDescriptor.GetEvents(Attribute[])

Belirtilen özniteliklere sahip bir bileşenin bu örneği için olayları döndürür.

ICustomTypeDescriptor.GetProperties()

Bir bileşenin bu örneği için özellikleri döndürür.

ICustomTypeDescriptor.GetProperties(Attribute[])

Belirtilen özniteliklere sahip bir bileşenin bu örneğinin özelliklerini döndürür.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Belirtilen özellik tanımlayıcısı tarafından açıklanan özelliği içeren bir nesnesi döndürür.

IDataErrorInfo.Error

Nesne için doğrulama hatalarını açıklayan bir ileti alır.

IDataErrorInfo.Item[String]

Verilen ada sahip özelliğin hata iletisini alır.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu tür, çok iş parçacıklı okuma işlemleri için güvenlidir. Mevcut yazma işlemlerini eşitlemeniz gerekir.

Ayrıca bkz.