DataRowView
It represents a customized view of a DataRow
that
is shown in a control when using data binding. For example, if you
bind a DataTable
to a
System.Windows.Forms.DataGrid
control, .NET
displays the data using the table’s default
DataView
, which contains one
DataRowView
instance for every
DataRow
that should be displayed. Unlike a
DataRow
, the DataRowView
can
display only one version of the underlying data. This version is
determined by the RowVersion
property, which is
modified automatically during an editing operation to show the
proposed value instead of the current value.
You can access the DataRow
instance that
corresponds to a DataRowView
through the
Row
property. Many DataRowView
methods and properties are similar to those of the
DataRow
. For example, you can programmatically
place multiple rows into edit mode using BeginEdit( )
, finish the operation with EndEdit( )
or CancelEdit( )
, or delete a row with
Delete( )
. You can also retrieve field values
using the column name or the indexer of the
DataRowView
class. Two read-only properties can be
used to determine if a DataRowView
is being edited
(IsEdit
) or is newly added
(IsNew
).
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IEditableObject, System.ComponentModel.IDataErrorInfo { // Public Instance Properties public DataView DataView{get; } public bool IsEdit{get; } public bool IsNew{get; } public DataRow Row{get; } public DataRowVersion RowVersion{get; } public object this[intndx
]{set; get; } public object this[stringproperty
]{set; get; } // Public Instance Methods public void BeginEdit( ); // implements System.ComponentModel.IEditableObject public void CancelEdit( ); // implements System.ComponentModel.IEditableObject public DataView CreateChildView(DataRelationrelation
); public DataView CreateChildView(stringrelationName
); public void Delete( ); public void EndEdit( ); // implements System.ComponentModel.IEditableObject public override bool Equals(objectother
); // overrides object public override int GetHashCode( ); // overrides object }