다음을 통해 공유


DataRow.ItemArray 속성

정의

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

public:
 property cli::array <System::Object ^> ^ ItemArray { cli::array <System::Object ^> ^ get(); void set(cli::array <System::Object ^> ^ value); };
public object?[] ItemArray { get; set; }
public object[] ItemArray { get; set; }
member this.ItemArray : obj[] with get, set
Public Property ItemArray As Object()

속성 값

Object[]

Object 형식의 배열입니다.

예외

배열이 테이블의 열 수보다 큰 경우

배열의 값이 해당 DataTypeDataColumn과 일치하지 않는 경우

제약 조건을 위반하여 편집한 경우

편집 중에 읽기 전용 열의 값을 변경하려고 한 경우

편집 중에 AllowDBNull 개체의 DataColumnfalse인 열에 null 값을 지정하려고 한 경우

행이 삭제된 경우

예제

다음 예제에서는 속성을 사용하여 ItemArray 값을 가져와서 설정하는 방법을 보여 줍니다.

private void CreateRowsWithItemArray()
{
    // Make a DataTable using the function below.
    DataTable dt = MakeTableWithAutoIncrement();
    DataRow relation;
    // Declare the array variable.
    object [] rowArray = new object[2];
    // Create 10 new rows and add to DataRowCollection.
    for(int i = 0; i <10; i++)
    {
        rowArray[0]=null;
        rowArray[1]= "item " + i;
        relation = dt.NewRow();
        relation.ItemArray = rowArray;
        dt.Rows.Add(relation);
    }
    PrintTable(dt);
}

private DataTable MakeTableWithAutoIncrement()
{
    // Make a table with one AutoIncrement column.
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement = true;
    idColumn.AutoIncrementSeed = 10;
    table.Columns.Add(idColumn);

    DataColumn firstNameColumn = new DataColumn("Item",
        Type.GetType("System.String"));
    table.Columns.Add(firstNameColumn);
    return table;
}

private void PrintTable(DataTable table)
{
    foreach(DataRow row in table.Rows)
    {
        foreach(DataColumn column in table.Columns)
        {
            Console.WriteLine(row[column]);
        }
    }
}
Private Sub CreateRowsWithItemArray()
    ' Make a DataTable using the function below.
    Dim dt As DataTable = MakeTableWithAutoIncrement()
    Dim relation As DataRow

    ' Declare the array variable.
    Dim rowArray(1) As Object

    ' Create 10 new rows and add to DataRowCollection.
    Dim i As Integer
    For i = 0 to 9
       rowArray(0) = DBNull.Value
       rowArray(1)= "item " & i.ToString()
       relation = dt.NewRow()
       relation.ItemArray = rowArray
       dt.Rows.Add(relation)
    Next
    PrintTable(dt)
End Sub
 
Private Function MakeTableWithAutoIncrement() As DataTable
    ' Make a table with one AutoIncrement column.
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
        Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True
    idColumn.AutoIncrementSeed = 10
    table.Columns.Add (idColumn)
    
    Dim firstNameColumn As New DataColumn( _
        "Item", Type.GetType("System.String"))
    table.Columns.Add(firstNameColumn)
    MakeTableWithAutoIncrement = table
End Function
 
Private Sub PrintTable(table As DataTable)
    Dim row As DataRow
    Dim column As DataColumn
    For Each row in table.Rows
       For Each column in table.Columns
          Console.WriteLine(row(column))
       Next
    Next
End Sub

설명

이 속성을 사용하여 배열을 통해 이 행의 값을 설정하거나 가져올 수 있습니다. 이 속성을 사용하여 값을 설정하는 경우 배열의 크기와 순서가 열 컬렉션과 같아야 합니다. 을 전달 null 하면 ItemArray 값이 지정되지 않음을 나타냅니다.

사용자는 이벤트 또는 이벤트에서 예외를 ColumnChanging 생성할 RowChanging 수 있습니다.

적용 대상

추가 정보