DataRowView DataRowView DataRowView DataRowView Class

Определение

Представляет настраиваемое представление 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 class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject, System.ComponentModel.INotifyPropertyChanged
type DataRowView = class
    interface ICustomTypeDescriptor
    interface IEditableObject
    interface IDataErrorInfo
    interface INotifyPropertyChanged
Public Class DataRowView
Implements ICustomTypeDescriptor, IDataErrorInfo, IEditableObject, INotifyPropertyChanged
Наследование
DataRowViewDataRowViewDataRowViewDataRowView
Реализации

Примеры

В следующем примере RowVersion свойство используется для определения состояния строки DataRowViewв.The following example uses the RowVersion property to determine the state of a row in the DataRowView. (См RowFilter . другой пример с 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

Комментарии

При каждом отображении данных, например в DataGrid элементе управления, можно отобразить только одну версию каждой строки.Whenever data is displayed, such as in a DataGrid control, only one version of each row can be displayed. Отображаемая строка — DataRowView.The displayed row is a DataRowView.

Original Default Proposed CurrentМожет иметь одно из четырех различных состояний версий:,, и. DataRowViewA DataRowView can have one of four different version states: Default, Original, Current, and Proposed.

После вызова BeginEdit DataRowв любое редактируемое значение преобразуется в Proposed значение.After invoking BeginEdit on a DataRow, any edited value becomes the Proposed value. До вызова метода EndEdit или, строка имеет значение Originalиверсию. Proposed CancelEditUntil either CancelEdit or EndEdit is invoked, the row has an Original and a Proposed version. Если CancelEdit вызывается метод, предлагаемая версия отбрасывается, а значение возвращается к Original.If CancelEdit is invoked, the proposed version is discarded, and the value reverts to Original. Если EndEdit вызывается метод, он DataRowView больше не имеет Proposed версии; вместо этого предложенное значение становится текущим значением.If EndEdit is invoked, the DataRowView no longer has a Proposed version; instead, the proposed value becomes the current value. Значения по умолчанию доступны только для строк, для которых определены столбцы со значениями по умолчанию.Default values are available only on rows that have columns with default values defined.

Свойства

DataView DataView DataView DataView

Получает объект DataView, которому принадлежит эта строка.Gets the DataView to which this row belongs.

IsEdit IsEdit IsEdit IsEdit

Определяет, находится ли строка в режиме изменения.Indicates whether the row is in edit mode.

IsNew IsNew IsNew IsNew

Указывает, является ли новым объект DataRowView.Indicates whether a DataRowView is new.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Возвращает или задает значение в указанном столбце.Gets or sets a value in a specified column.

Item[String] Item[String] Item[String] Item[String]

Возвращает или задает значение в указанном столбце.Gets or sets a value in a specified column.

Row Row Row Row

Получает просматриваемый объект DataRow.Gets the DataRow being viewed.

RowVersion RowVersion RowVersion RowVersion

Получает описание текущей версии объекта DataRow.Gets the current version description of the DataRow.

Методы

BeginEdit() BeginEdit() BeginEdit() BeginEdit()

Начинает процедуру изменения.Begins an edit procedure.

CancelEdit() CancelEdit() CancelEdit() CancelEdit()

Отменяет процедуру изменения.Cancels an edit procedure.

CreateChildView(DataRelation) CreateChildView(DataRelation) CreateChildView(DataRelation) CreateChildView(DataRelation)

Возвращает DataView для дочернего объекта DataTable с указанным дочерним объектом DataRelation.Returns a DataView for the child DataTable with the specified child DataRelation.

CreateChildView(DataRelation, Boolean) CreateChildView(DataRelation, Boolean) CreateChildView(DataRelation, Boolean) CreateChildView(DataRelation, Boolean)

Возвращает DataView для дочернего объекта DataTable с указанным DataRelation и родительским объектом.Returns a DataView for the child DataTable with the specified DataRelation and parent.

CreateChildView(String) CreateChildView(String) CreateChildView(String) CreateChildView(String)

Возвращает DataView для дочернего объекта DataTable с указанным именем дочернего объекта DataRelation.Returns a DataView for the child DataTable with the specified child DataRelation name.

CreateChildView(String, Boolean) CreateChildView(String, Boolean) CreateChildView(String, Boolean) CreateChildView(String, Boolean)

Возвращает DataView для дочернего объекта DataTable с указанным именем DataRelation и родительским объектом.Returns a DataView for the child DataTable with the specified DataRelation name and parent.

Delete() Delete() Delete() Delete()

Удаляет строку.Deletes a row.

EndEdit() EndEdit() EndEdit() EndEdit()

Фиксирует изменения в базовом DataRow и заканчивает сеанс редактирования, который был начат с BeginEdit().Commits changes to the underlying DataRow and ends the editing session that was begun with BeginEdit(). Используйте метод CancelEdit() для отмены изменений, внесенных в объект DataRow.Use CancelEdit() to discard the changes made to the DataRow.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Возвращает значение,указывающее, идентичен ли текущий объект DataRowView указанному объекту.Gets a value indicating whether the current DataRowView is identical to the specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код объекта DataRow.Returns the hash code of the DataRow object.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

События

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

Событие, которое возникло, когда свойство DataRowView было изменено.Event that is raised when a DataRowView property is changed.

Явные реализации интерфейса

ICustomTypeDescriptor.GetAttributes() ICustomTypeDescriptor.GetAttributes() ICustomTypeDescriptor.GetAttributes() ICustomTypeDescriptor.GetAttributes()

Возвращает коллекцию настраиваемых атрибутов для этого экземпляра компонента.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName() ICustomTypeDescriptor.GetClassName() ICustomTypeDescriptor.GetClassName() ICustomTypeDescriptor.GetClassName()

Возвращает имя класса для этого экземпляра компонента.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName() ICustomTypeDescriptor.GetComponentName() ICustomTypeDescriptor.GetComponentName() ICustomTypeDescriptor.GetComponentName()

Возвращает имя этого экземпляра компонента.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter() ICustomTypeDescriptor.GetConverter() ICustomTypeDescriptor.GetConverter() ICustomTypeDescriptor.GetConverter()

Возвращает преобразователь типов для этого экземпляра компонента.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent() ICustomTypeDescriptor.GetDefaultEvent() ICustomTypeDescriptor.GetDefaultEvent() ICustomTypeDescriptor.GetDefaultEvent()

Возвращает событие по умолчанию для этого экземпляра компонента.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty() ICustomTypeDescriptor.GetDefaultProperty() ICustomTypeDescriptor.GetDefaultProperty() ICustomTypeDescriptor.GetDefaultProperty()

Возвращает свойство по умолчанию для этого экземпляра компонента.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type) ICustomTypeDescriptor.GetEditor(Type) ICustomTypeDescriptor.GetEditor(Type) ICustomTypeDescriptor.GetEditor(Type)

Возвращает редактор заданного типа для этого экземпляра компонента.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents() ICustomTypeDescriptor.GetEvents() ICustomTypeDescriptor.GetEvents() ICustomTypeDescriptor.GetEvents()

Возвращает события для этого экземпляра компонента.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[]) ICustomTypeDescriptor.GetEvents(Attribute[]) ICustomTypeDescriptor.GetEvents(Attribute[]) ICustomTypeDescriptor.GetEvents(Attribute[])

Возвращает события для этого экземпляра компонента с заданными атрибутами.Returns the events for this instance of a component with specified attributes.

ICustomTypeDescriptor.GetProperties() ICustomTypeDescriptor.GetProperties() ICustomTypeDescriptor.GetProperties() ICustomTypeDescriptor.GetProperties()

Возвращает свойства для этого экземпляра компонента.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[]) ICustomTypeDescriptor.GetProperties(Attribute[]) ICustomTypeDescriptor.GetProperties(Attribute[]) ICustomTypeDescriptor.GetProperties(Attribute[])

Возвращает свойства для этого экземпляра компонента с заданными атрибутами.Returns the properties for this instance of a component with specified attributes.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Возвращает объект, содержащий свойство, описываемое заданным дескриптором свойства.Returns an object that contains the property described by the specified property descriptor.

IDataErrorInfo.Error IDataErrorInfo.Error IDataErrorInfo.Error IDataErrorInfo.Error

Получает сообщение, описывающее все ошибки проверки объекта.Gets a message that describes any validation errors for the object.

IDataErrorInfo.Item[String] IDataErrorInfo.Item[String] IDataErrorInfo.Item[String] IDataErrorInfo.Item[String]

Возвращает сообщение об ошибке для свойства с заданным именем.Gets the error message for the property with the given name.

Применяется к

Потокобезопасность

Этот тип является надежным для многопоточных операций чтения.This type is safe for multithreaded read operations. Необходимо синхронизировать любые операции записи.You must synchronize any write operations.

Дополнительно