DataRowView DataRowView DataRowView DataRowView Class

Definición

Representa un vista personalizada de 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
Herencia
DataRowViewDataRowViewDataRowViewDataRowView
Implementaciones

Ejemplos

En el ejemplo siguiente se RowVersion usa la propiedad para determinar el estado de una fila en. DataRowViewThe following example uses the RowVersion property to determine the state of a row in the DataRowView. (Vea RowFilter para obtener otro ejemplo DataRowViewcon).(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

Comentarios

Cada vez que se muestran datos, como en DataGrid un control, solo se puede mostrar una versión de cada fila.Whenever data is displayed, such as in a DataGrid control, only one version of each row can be displayed. La fila mostrada es DataRowViewun.The displayed row is a DataRowView.

Un DataRowView puede tener uno de cuatro Estados de versión diferentes Default: Original, Current, y Proposed.A DataRowView can have one of four different version states: Default, Original, Current, and Proposed.

Después BeginEdit deinvocarProposed a ,cualquiervaloreditadoseconvierteenelvalor.DataRowAfter invoking BeginEdit on a DataRow, any edited value becomes the Proposed value. Hasta que se EndEdit invoca Original o, la fila tiene una y una Proposed versión. CancelEditUntil either CancelEdit or EndEdit is invoked, the row has an Original and a Proposed version. Si CancelEdit se invoca, se descarta la versión propuesta y el valor se revierte a Original.If CancelEdit is invoked, the proposed version is discarded, and the value reverts to Original. Si EndEdit se invoca, el DataRowView ya no tiene una Proposed versión; en su lugar, el valor propuesto se convierte en el valor actual.If EndEdit is invoked, the DataRowView no longer has a Proposed version; instead, the proposed value becomes the current value. Los valores predeterminados solo están disponibles en las filas que tienen columnas con valores predeterminados definidos.Default values are available only on rows that have columns with default values defined.

Propiedades

DataView DataView DataView DataView

Obtiene el DataView al que pertenece esta fila.Gets the DataView to which this row belongs.

IsEdit IsEdit IsEdit IsEdit

Indica si la fila está en modo de edición.Indicates whether the row is in edit mode.

IsNew IsNew IsNew IsNew

Indica si un DataRowView es nuevo.Indicates whether a DataRowView is new.

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

Obtiene o establece el valor de una columna especificada.Gets or sets a value in a specified column.

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

Obtiene o establece el valor de una columna especificada.Gets or sets a value in a specified column.

Row Row Row Row

Obtiene el DataRow que se está viendo.Gets the DataRow being viewed.

RowVersion RowVersion RowVersion RowVersion

Obtiene la descripción de la versión actual de DataRow.Gets the current version description of the DataRow.

Métodos

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

Inicia un procedimiento de edición.Begins an edit procedure.

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

Cancela un procedimiento de edición.Cancels an edit procedure.

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

Devuelve un DataView correspondiente al DataTable secundario con el DataRelation secundario especificado.Returns a DataView for the child DataTable with the specified child DataRelation.

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

Devuelve un elemento DataView correspondiente al elemento DataTable secundario con el DataRelation especificado y el elemento primario.Returns a DataView for the child DataTable with the specified DataRelation and parent.

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

Devuelve un DataView correspondiente al DataTable secundario con el DataRelation secundario especificado.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)

Devuelve un DataView correspondiente al DataTable secundario con el nombre DataRelation especificado y el primario.Returns a DataView for the child DataTable with the specified DataRelation name and parent.

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

Elimina una fila.Deletes a row.

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

Confirma los cambios en el DataRow subyacente y finaliza la sesión de edición que se inició con BeginEdit().Commits changes to the underlying DataRow and ends the editing session that was begun with BeginEdit(). Use CancelEdit() para descartar los cambios realizados en DataRow.Use CancelEdit() to discard the changes made to the DataRow.

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

Obtiene un valor que indica si la clase DataRowView actual es idéntica al objeto especificado.Gets a value indicating whether the current DataRowView is identical to the specified object.

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

Devuelve el código hash del objeto DataRow.Returns the hash code of the DataRow object.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Eventos

PropertyChanged PropertyChanged PropertyChanged PropertyChanged

Evento que se provoca cuando se cambia una propiedad de DataRowView.Event that is raised when a DataRowView property is changed.

Implementaciones de interfaz explícitas

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

Devuelve una colección de atributos personalizados para esta instancia de un componente.Returns a collection of custom attributes for this instance of a component.

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

Devuelve el nombre de clase de esta instancia de un componente.Returns the class name of this instance of a component.

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

Devuelve los eventos para esta instancia de un componente.Returns the name of this instance of a component.

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

Devuelve un convertidor de tipos para instancia de un componente.Returns a type converter for this instance of a component.

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

Devuelve el evento predeterminado para esta instancia de un componente.Returns the default event for this instance of a component.

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

Devuelve la propiedad predeterminada para esta instancia de un componente.Returns the default property for this instance of a component.

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

Devuelve un editor del tipo especificado para esta instancia de un componente.Returns an editor of the specified type for this instance of a component.

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

Devuelve los eventos para esta instancia de un componente.Returns the events for this instance of a component.

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

Devuelve los eventos para esta instancia de un componente con los atributos especificados.Returns the events for this instance of a component with specified attributes.

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

Devuelve las propiedades para esta instancia de un componente.Returns the properties for this instance of a component.

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

Devuelve las propiedades para esta instancia de un componente con los atributos especificados.Returns the properties for this instance of a component with specified attributes.

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

Devuelve un objeto que contiene la propiedad que describe el descriptor de propiedades especificado.Returns an object that contains the property described by the specified property descriptor.

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

Obtiene un mensaje en el que se describen los errores de validación del objeto.Gets a message that describes any validation errors for the object.

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

Obtiene el mensaje de error correspondiente a la propiedad con el nombre especificado.Gets the error message for the property with the given name.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para las operaciones de lectura multiproceso.This type is safe for multithreaded read operations. Debe sincronizar cualquier operación de escritura.You must synchronize any write operations.

Consulte también: