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コントロール、各行のバージョンを 1 つだけに表示されることができます。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.

A DataRowView 4 つの異なるバージョンの状態のいずれかの: DefaultOriginalCurrent、およびProposedします。A 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. いずれかまでCancelEditまたはEndEditが呼び出されると、行が含まれて、OriginalProposedバージョン。Until 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 を使用して子 DataTableDataRelation を返します。Returns a DataView for the child DataTable with the specified child DataRelation.

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

指定した DataRelation と親を使用して子 DataTableDataView を返します。Returns a DataView for the child DataTable with the specified DataRelation and parent.

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

指定した子 DataView 名を使用して子 DataTableDataRelation を返します。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 名と親を使用して子 DataTableDataRelation を返します。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.

こちらもご覧ください