DataRowView Klasa

Definicja

Reprezentuje dostosowany widok obiektu DataRow.

C#
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject, System.ComponentModel.INotifyPropertyChanged
C#
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject
Dziedziczenie
DataRowView
Implementuje

Przykłady

W poniższym przykładzie użyto RowVersion właściwości , aby określić stan wiersza w obiekcie DataRowView. (Zobacz RowFilter inny przykład przy użyciu polecenia DataRowView.

C#
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);
    }
}

Uwagi

Za każdym razem, gdy dane są wyświetlane, na przykład w kontrolce DataGrid , można wyświetlić tylko jedną wersję każdego wiersza. Wyświetlany wiersz to DataRowView.

Element DataRowView może mieć jeden z czterech różnych stanów wersji: Default, , CurrentOriginali Proposed.

Po wywołaniu BeginEdit metody DataRowkażda edytowana wartość staje się wartością Proposed . Do momentu wywołania polecenia CancelEdit lub wiersz ma Original wersję i ProposedEndEdit . Jeśli CancelEdit jest wywoływana, proponowana wersja zostanie odrzucona, a wartość zostanie przywrócona do Original. Jeśli EndEdit jest wywoływana, DataRowView nie ma Proposed już wersji. Zamiast tego proponowana wartość staje się bieżącą wartością. Wartości domyślne są dostępne tylko w wierszach, które mają kolumny z zdefiniowanymi wartościami domyślnymi.

Właściwości

DataView

Pobiera element , DataView do którego należy ten wiersz.

IsEdit

Wskazuje, czy wiersz jest w trybie edycji.

IsNew

Wskazuje, czy element DataRowView jest nowy.

Item[Int32]

Pobiera lub ustawia wartość w określonej kolumnie.

Item[String]

Pobiera lub ustawia wartość w określonej kolumnie.

Row

DataRow Pobiera wyświetlany element.

RowVersion

Pobiera bieżący opis wersji elementu DataRow.

Metody

BeginEdit()

Rozpoczyna procedurę edycji.

CancelEdit()

Anuluje procedurę edycji.

CreateChildView(DataRelation)

Zwraca element DataView dla elementu podrzędnego DataTable z określonym elementem podrzędnym DataRelation.

CreateChildView(DataRelation, Boolean)

Zwraca element DataView dla elementu podrzędnego DataTable z określonym DataRelation i nadrzędnym.

CreateChildView(String)

Zwraca wartość DataView dla elementu podrzędnego DataTable o określonej nazwie podrzędnej DataRelation .

CreateChildView(String, Boolean)

Zwraca element DataView dla elementu podrzędnego DataTable z określoną DataRelation nazwą i elementem nadrzędnym.

Delete()

Usuwa wiersz.

EndEdit()

Zatwierdza zmiany w bazowym DataRow obiekcie i kończy sesję edycji, która została rozpoczęta za pomocą BeginEdit()polecenia . Użyj polecenia CancelEdit() , aby odrzucić zmiany wprowadzone w obiekcie DataRow.

Equals(Object)

Pobiera wartość wskazującą, czy bieżący DataRowView jest identyczny z określonym obiektem.

GetHashCode()

Zwraca kod skrótu DataRow obiektu.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Zdarzenia

PropertyChanged

Zdarzenie wywoływane po DataRowView zmianie właściwości.

Jawne implementacje interfejsu

ICustomTypeDescriptor.GetAttributes()

Zwraca kolekcję atrybutów niestandardowych dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetClassName()

Zwraca nazwę klasy tego wystąpienia składnika.

ICustomTypeDescriptor.GetComponentName()

Zwraca nazwę tego wystąpienia składnika.

ICustomTypeDescriptor.GetConverter()

Zwraca konwerter typów dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetDefaultEvent()

Zwraca zdarzenie domyślne dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetDefaultProperty()

Zwraca właściwość domyślną dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetEditor(Type)

Zwraca edytor określonego typu dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetEvents()

Zwraca zdarzenia dla tego wystąpienia składnika.

ICustomTypeDescriptor.GetEvents(Attribute[])

Zwraca zdarzenia dla tego wystąpienia składnika z określonymi atrybutami.

ICustomTypeDescriptor.GetProperties()

Zwraca właściwości tego wystąpienia składnika.

ICustomTypeDescriptor.GetProperties(Attribute[])

Zwraca właściwości tego wystąpienia składnika z określonymi atrybutami.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Zwraca obiekt, który zawiera właściwość opisaną przez deskryptor określonej właściwości.

IDataErrorInfo.Error

Pobiera komunikat opisujący błędy weryfikacji dla obiektu.

IDataErrorInfo.Item[String]

Pobiera komunikat o błędzie dla właściwości o podanej nazwie.

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny dla operacji odczytu wielowątkowego. Należy zsynchronizować wszystkie operacje zapisu.

Zobacz też