DataRowView Klasa

Definicja

Reprezentuje dostosowany widok elementu DataRow .Represents a customized view of a DataRow.

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
Dziedziczenie
DataRowView
Implementuje

Przykłady

Poniższy przykład używa właściwości, RowVersion Aby określić stan wiersza w DataRowView .The following example uses the RowVersion property to determine the state of a row in the DataRowView. (Zobacz, RowFilter Aby użyć innego przykładu DataRowView ).(See RowFilter for another example using 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

Uwagi

Za każdym razem, gdy dane są wyświetlane, na przykład w DataGrid kontrolce, może być wyświetlana tylko jedna wersja każdego wiersza.Whenever data is displayed, such as in a DataGrid control, only one version of each row can be displayed. Wyświetlany wiersz jest DataRowView .The displayed row is a DataRowView.

DataRowViewMoże mieć jedną z czterech różnych stanów wersji: Default , Original , Current , i Proposed .A DataRowView can have one of four different version states: Default, Original, Current, and Proposed.

Po wywołaniu BeginEdit dla elementu DataRow dowolna edytowana wartość zostanie Proposed wartością.After invoking BeginEdit on a DataRow, any edited value becomes the Proposed value. Do momentu CancelEdit wywołania albo lub EndEdit jest wywoływana, wiersz ma Original Proposed wersję i.Until either CancelEdit or EndEdit is invoked, the row has an Original and a Proposed version. Jeśli CancelEdit jest wywoływana, proponowana wersja zostanie odrzucona, a wartość zostanie przywrócona do Original .If CancelEdit is invoked, the proposed version is discarded, and the value reverts to Original. Jeśli EndEdit jest wywoływana, DataRowView nie ma już Proposed wersji; zamiast tego proponowana wartość będzie bieżącą wartością.If EndEdit is invoked, the DataRowView no longer has a Proposed version; instead, the proposed value becomes the current value. Wartości domyślne są dostępne tylko dla wierszy, które mają kolumny z zdefiniowanymi wartościami domyślnymi.Default values are available only on rows that have columns with default values defined.

Właściwości

DataView

Pobiera DataView do którego należy ten wiersz.Gets the DataView to which this row belongs.

IsEdit

Wskazuje, czy wiersz jest w trybie edycji.Indicates whether the row is in edit mode.

IsNew

Wskazuje, czy DataRowView jest nowa.Indicates whether a DataRowView is new.

Item[Int32]

Pobiera lub ustawia wartość w określonej kolumnie.Gets or sets a value in a specified column.

Item[String]

Pobiera lub ustawia wartość w określonej kolumnie.Gets or sets a value in a specified column.

Row

Pobiera DataRow przeglądany.Gets the DataRow being viewed.

RowVersion

Pobiera bieżący Opis wersji DataRow .Gets the current version description of the DataRow.

Metody

BeginEdit()

Rozpoczyna procedurę edycji.Begins an edit procedure.

CancelEdit()

Anuluje procedurę edycji.Cancels an edit procedure.

CreateChildView(DataRelation)

Zwraca DataView dla elementu podrzędnego DataTable z określonym elementem podrzędnym DataRelation .Returns a DataView for the child DataTable with the specified child DataRelation.

CreateChildView(DataRelation, Boolean)

Zwraca DataView dla elementu podrzędnego DataTable z określonym DataRelation i nadrzędnym.Returns a DataView for the child DataTable with the specified DataRelation and parent.

CreateChildView(String)

Zwraca DataView dla elementu podrzędnego DataTable z określoną nazwą elementu podrzędnego DataRelation .Returns a DataView for the child DataTable with the specified child DataRelation name.

CreateChildView(String, Boolean)

Zwraca DataView dla elementu podrzędnego DataTable z określoną DataRelation nazwą i elementem nadrzędnym.Returns a DataView for the child DataTable with the specified DataRelation name and parent.

Delete()

Usuwa wiersz.Deletes a row.

EndEdit()

Zatwierdza zmiany w podstawowym DataRow i przerywa sesję edytowania uruchomioną w programie BeginEdit() .Commits changes to the underlying DataRow and ends the editing session that was begun with BeginEdit(). Służy CancelEdit() do odrzucania zmian wprowadzonych w DataRow .Use CancelEdit() to discard the changes made to the DataRow.

Equals(Object)

Pobiera wartość wskazującą, czy bieżąca DataRowView jest identyczna z określonym obiektem.Gets a value indicating whether the current DataRowView is identical to the specified object.

GetHashCode()

Zwraca kod skrótu DataRow obiektu.Returns the hash code of the DataRow object.

GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Zdarzenia

PropertyChanged

Zdarzenie wywoływane, gdy DataRowView Właściwość zostanie zmieniona.Event that is raised when a DataRowView property is changed.

Jawne implementacje interfejsu

ICustomTypeDescriptor.GetAttributes()

Zwraca kolekcję atrybutów niestandardowych dla tego wystąpienia składnika.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName()

Zwraca nazwę klasy tego wystąpienia składnika.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName()

Zwraca nazwę tego wystąpienia składnika.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter()

Zwraca konwerter typu dla tego wystąpienia składnika.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent()

Zwraca domyślne zdarzenie dla tego wystąpienia składnika.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty()

Zwraca domyślną właściwość dla tego wystąpienia składnika.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type)

Zwraca Edytor określonego typu dla tego wystąpienia składnika.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents()

Zwraca zdarzenia dla tego wystąpienia składnika.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[])

Zwraca zdarzenia dla tego wystąpienia składnika o określonych atrybutach.Returns the events for this instance of a component with specified attributes.

ICustomTypeDescriptor.GetProperties()

Zwraca właściwości dla tego wystąpienia składnika.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[])

Zwraca właściwości dla tego wystąpienia składnika o określonych atrybutach.Returns the properties for this instance of a component with specified attributes.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Zwraca obiekt, który zawiera właściwość opisaną przez określony deskryptor właściwości.Returns an object that contains the property described by the specified property descriptor.

IDataErrorInfo.Error

Pobiera komunikat, który opisuje wszelkie błędy walidacji dla obiektu.Gets a message that describes any validation errors for the object.

IDataErrorInfo.Item[String]

Pobiera komunikat o błędzie dla właściwości o podaną nazwę.Gets the error message for the property with the given name.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny dla wielowątkowych operacji odczytu.This type is safe for multithreaded read operations. Należy zsynchronizować wszystkie operacje zapisu.You must synchronize any write operations.

Zobacz też