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.

A DataRowView 네 가지 다른 버전 상태 중 하나일 수 있습니다: DefaultOriginalCurrent, 및 Proposed합니다.A DataRowView can have one of four different version states: Default, Original, Current, and Proposed.

호출한 후 BeginEditDataRow, 모든 편집 된 값을 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이 있는 자식 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.

추가 정보