DataRow 클래스

정의

DataTable의 데이터 행을 나타냅니다.

public ref class DataRow
public class DataRow
[System.Serializable]
public class DataRow
type DataRow = class
[<System.Serializable>]
type DataRow = class
Public Class DataRow
상속
DataRow
특성

예제

다음 예제에서는 개체의 DataTable 메서드를 NewRow 호출하여 새 DataRow 를 만듭니다.

private void CreateNewDataRow()
{
    // Use the MakeTable function below to create a new table.
    DataTable table;
    table = MakeNamesTable();

    // Once a table has been created, use the
    // NewRow to create a DataRow.
    DataRow row;
    row = table.NewRow();

    // Then add the new row to the collection.
    row["fName"] = "John";
    row["lName"] = "Smith";
    table.Rows.Add(row);

    foreach(DataColumn column in table.Columns)
        Console.WriteLine(column.ColumnName);
    dataGrid1.DataSource=table;
}

private DataTable MakeNamesTable()
{
    // Create a new DataTable titled 'Names.'
    DataTable namesTable = new DataTable("Names");

    // Add three column objects to the table.
    DataColumn idColumn = new  DataColumn();
    idColumn.DataType = System.Type.GetType("System.Int32");
    idColumn.ColumnName = "id";
    idColumn.AutoIncrement = true;
    namesTable.Columns.Add(idColumn);

    DataColumn fNameColumn = new DataColumn();
    fNameColumn.DataType = System.Type.GetType("System.String");
    fNameColumn.ColumnName = "Fname";
    fNameColumn.DefaultValue = "Fname";
    namesTable.Columns.Add(fNameColumn);

    DataColumn lNameColumn = new DataColumn();
    lNameColumn.DataType = System.Type.GetType("System.String");
    lNameColumn.ColumnName = "LName";
    namesTable.Columns.Add(lNameColumn);

    // Create an array for DataColumn objects.
    DataColumn [] keys = new DataColumn [1];
    keys[0] = idColumn;
    namesTable.PrimaryKey = keys;

    // Return the new DataTable.
    return namesTable;
}
Private Sub CreateNewDataRow()
    ' Use the MakeTable function below to create a new table.
    Dim table As DataTable
    table = MakeNamesTable()

    ' Once a table has been created, use the 
    ' NewRow to create a DataRow.
    Dim row As DataRow 
    row = table.NewRow()

    ' Then add the new row to the collection.
    row("fName") = "John"
    row("lName") = "Smith"
    table.Rows.Add(row)
    
    Dim column As DataColumn
    For Each column in table.Columns
       Console.WriteLine(column.ColumnName)
    Next
    DataGrid1.DataSource=table
 End Sub
 
 Private Function MakeNamesTable() As DataTable
    ' Create a new DataTable titled 'Names.'
    Dim namesTable As New DataTable("Names") 

    ' Add three column objects to the table.
    Dim idColumn As New DataColumn()
    idColumn.DataType = System.Type.GetType("System.Int32")
    idColumn.ColumnName = "id"
    idColumn.AutoIncrement = True
    namesTable.Columns.Add(idColumn)

    Dim fNameColumn As New DataColumn()
    fNameColumn.DataType = System.Type.GetType("System.String")
    fNameColumn.ColumnName = "Fname"
    fNameColumn.DefaultValue = "Fname"
    namesTable.Columns.Add(fNameColumn)

    Dim lNameColumn As New DataColumn()
    lNameColumn.DataType = System.Type.GetType("System.String")
    lNameColumn.ColumnName = "LName"
    namesTable.Columns.Add(lNameColumn)

    ' Create an array for DataColumn objects.
    Dim keys(0) As DataColumn 
    keys(0) = idColumn
    namesTable.PrimaryKey = keys

    ' Return the new DataTable.
    MakeNamesTable = namesTable
 End Function

설명

및 개체는 DataRow 의 기본 구성 요소입니다DataTable.DataColumn DataRow 개체와 해당 속성 및 메서드를 사용하여 를 검색 및 평가하고, 의 DataTable값을 삽입, 삭제 및 업데이트합니다. 는 DataRowCollection 의 실제 DataRow 개체를 DataTable나타내며 DataColumnCollection 에는 의 스키마를 DataColumn 설명하는 개체가 DataTable포함됩니다. 오버로드된 Item[] 속성을 사용하여 의 DataColumn값을 반환하거나 설정합니다.

HasVersionIsNull 속성을 사용하여 특정 행 값 RowState 의 상태를 확인하고 속성을 사용하여 부모 DataTable에 상대적인 행의 상태를 확인합니다.

DataRow를 만들려면 개체의 NewRow 메서드를 DataTable 사용합니다. 새 DataRow를 만든 후 메서드를 Add 사용하여 에 새 DataRow 를 추가합니다 DataRowCollection. 마지막으로 개체의 메서드를 AcceptChangesDataTable 호출하여 추가를 확인합니다. 에 데이터를 DataTable추가하는 방법에 대한 자세한 내용은 DataTable에 데이터 추가를 참조하세요.

의 메서드를 DataRow 호출하거나 개체의 메서드를 RemoveDataRowCollection호출하여 에서 DataRowCollectionDelete 삭제할 DataRow 수 있습니다. 메서드는 Remove 컬렉션에서 행을 제거합니다. 반면, Delete 는 제거를 위해 을 표시합니다 DataRow . 실제 제거는 메서드를 호출 AcceptChanges 할 때 발생합니다. 를 호출 Delete하면 실제로 삭제하기 전에 제거로 표시된 행을 프로그래밍 방식으로 확인할 수 있습니다. 자세한 내용은 DataRow 삭제를 참조하세요.

생성자

DataRow(DataRowBuilder)

지정된 작성기를 사용하여 DataRow 클래스의 새 인스턴스를 초기화합니다. 내부 전용입니다.

속성

HasErrors

행에 오류가 있는지 여부를 나타내는 값을 가져옵니다.

Item[DataColumn, DataRowVersion]

지정된 DataColumn에 저장된 특정 버전의 데이터를 가져옵니다.

Item[DataColumn]

지정된 DataColumn에 저장된 데이터를 가져오거나 설정합니다.

Item[Int32, DataRowVersion]

검색할 데이터의 지정된 버전 및 인덱스를 가진 열에 저장된 데이터를 가져옵니다.

Item[Int32]

지정된 인덱스를 가진 열에 저장된 데이터를 가져오거나 설정합니다.

Item[String, DataRowVersion]

명명된 열에 저장된 특정 버전의 데이터를 가져옵니다.

Item[String]

지정된 이름을 가진 열에 저장된 데이터를 가져오거나 설정합니다.

ItemArray

배열을 통해 이 행의 모든 값을 가져오거나 설정합니다.

RowError

행에 대한 사용자 지정 오류 설명을 가져오거나 설정합니다.

RowState

DataRowCollection과의 관계와 관련하여 행의 현재 상태를 가져옵니다.

Table

이 행에 스키마가 있는 DataTable을 가져옵니다.

메서드

AcceptChanges()

AcceptChanges()가 마지막으로 호출된 이후 이 행에서 변경된 내용을 모두 커밋합니다.

BeginEdit()

DataRow 개체에 대한 편집 작업을 시작합니다.

CancelEdit()

행의 현재 편집을 취소합니다.

ClearErrors()

행의 오류를 지웁니다. 여기에는 RowErrorSetColumnError(Int32, String)와 함께 설정된 오류가 포함됩니다.

Delete()

DataRow를 삭제합니다.

EndEdit()

행에서 수행 중인 편집을 끝냅니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetChildRows(DataRelation)

지정된 DataRow을 사용하여 이 DataRelation의 자식 행을 가져옵니다.

GetChildRows(DataRelation, DataRowVersion)

지정된 DataRowDataRelation을 사용하여 DataRowVersion의 자식 행을 가져옵니다.

GetChildRows(String)

DataRow의 지정된 RelationName을 사용하여 DataRelation의 자식 행을 가져옵니다.

GetChildRows(String, DataRowVersion)

DataRow의 지정된 RelationNameDataRelation을 사용하여 DataRowVersion의 자식 행을 가져옵니다.

GetColumnError(DataColumn)

지정된 DataColumn의 오류 설명을 가져옵니다.

GetColumnError(Int32)

지정된 인덱스를 가진 열의 오류 설명을 가져옵니다.

GetColumnError(String)

지정된 이름을 가진 열의 오류 설명을 가져옵니다.

GetColumnsInError()

오류가 있는 열로 이루어진 배열을 가져옵니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetParentRow(DataRelation)

지정된 DataRow을 사용하여 DataRelation의 부모 행을 가져옵니다.

GetParentRow(DataRelation, DataRowVersion)

지정된 DataRowDataRelation을 사용하여 DataRowVersion의 부모 행을 가져옵니다.

GetParentRow(String)

DataRow의 지정된 RelationName을 사용하여 DataRelation의 부모 행을 가져옵니다.

GetParentRow(String, DataRowVersion)

DataRow의 지정된 RelationNameDataRelation을 사용하여 DataRowVersion의 부모 행을 가져옵니다.

GetParentRows(DataRelation)

지정된 DataRow을 사용하여 DataRelation의 부모 행을 가져옵니다.

GetParentRows(DataRelation, DataRowVersion)

지정된 DataRowDataRelation을 사용하여 DataRowVersion의 부모 행을 가져옵니다.

GetParentRows(String)

DataRow의 지정된 RelationName을 사용하여 DataRelation의 부모 행을 가져옵니다.

GetParentRows(String, DataRowVersion)

DataRow의 지정된 RelationNameDataRelation을 사용하여 DataRowVersion의 부모 행을 가져옵니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
HasVersion(DataRowVersion)

지정된 버전이 있는지 여부를 나타내는 값을 가져옵니다.

IsNull(DataColumn)

지정된 DataColumn에 null 값이 있는지 여부를 나타내는 값을 가져옵니다.

IsNull(DataColumn, DataRowVersion)

지정된 DataColumnDataRowVersion에 null 값이 있는지 여부를 나타내는 값을 가져옵니다.

IsNull(Int32)

지정된 인덱스의 열에 null 값이 있는지 여부를 나타내는 값을 가져옵니다.

IsNull(String)

명명된 열에 null 값이 있는지 여부를 나타내는 값을 가져옵니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
RejectChanges()

AcceptChanges()를 마지막으로 호출한 이후에 수행된 행의 모든 변경 내용을 취소합니다.

SetAdded()

RowStateDataRowAdded로 변경합니다.

SetColumnError(DataColumn, String)

DataColumn으로 지정된 열에 대한 오류 설명을 설정합니다.

SetColumnError(Int32, String)

지정된 인덱스를 가진 열에 대한 오류 설명을 설정합니다.

SetColumnError(String, String)

지정된 이름을 가진 열에 대한 오류 설명을 설정합니다.

SetModified()

RowStateDataRowModified로 변경합니다.

SetNull(DataColumn)

지정된 DataColumn의 값을 null 값으로 설정합니다.

SetParentRow(DataRow)

지정된 새 부모 DataRow를 가지는 DataRow의 부모 행을 설정합니다.

SetParentRow(DataRow, DataRelation)

지정된 새 부모 DataRowDataRow을 가지는 DataRelation의 부모 행을 설정합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

확장 메서드

Field<T>(DataRow, DataColumn)

지정된 행의 각 열 값에 대해 강력한 형식의 액세스를 제공합니다. Field<T>(DataRow, DataColumn) 메서드는 nullable 형식도 지원합니다.

Field<T>(DataRow, DataColumn, DataRowVersion)

지정된 행의 각 열 값에 대해 강력한 형식의 액세스를 제공합니다. Field<T>(DataRow, DataColumn, DataRowVersion) 메서드는 nullable 형식도 지원합니다.

Field<T>(DataRow, Int32)

지정된 행의 각 열 값에 대해 강력한 형식의 액세스를 제공합니다. Field<T>(DataRow, Int32) 메서드는 nullable 형식도 지원합니다.

Field<T>(DataRow, Int32, DataRowVersion)

지정된 행의 각 열 값에 대해 강력한 형식의 액세스를 제공합니다. Field<T>(DataRow, Int32, DataRowVersion) 메서드는 nullable 형식도 지원합니다.

Field<T>(DataRow, String)

지정된 행의 각 열 값에 대해 강력한 형식의 액세스를 제공합니다. Field<T>(DataRow, String) 메서드는 nullable 형식도 지원합니다.

Field<T>(DataRow, String, DataRowVersion)

지정된 행의 각 열 값에 대해 강력한 형식의 액세스를 제공합니다. Field<T>(DataRow, String, DataRowVersion) 메서드는 nullable 형식도 지원합니다.

SetField<T>(DataRow, DataColumn, T)

DataRow에서 지정된 열의 새 값을 설정합니다. SetField<T>(DataRow, DataColumn, T) 메서드는 nullable 형식도 지원합니다.

SetField<T>(DataRow, Int32, T)

메서드가 호출된 DataRow에서 지정된 열의 새 값을 설정합니다. SetField<T>(DataRow, Int32, T) 메서드는 nullable 형식도 지원합니다.

SetField<T>(DataRow, String, T)

DataRow에서 지정된 열의 새 값을 설정합니다. SetField<T>(DataRow, String, T) 메서드는 nullable 형식도 지원합니다.

적용 대상

스레드 보안

이 형식은 다중 스레드 읽기 작업에 안전합니다. 모든 쓰기 작업을 동기화해야 합니다.

추가 정보