This documentation is archived and is not being maintained.

DataRow.ItemArray Property

Gets or sets all the values for this row through an array.

Namespace: System.Data
Assembly: System.Data (in

public Object[] ItemArray { get; set; 
/** @property */
public Object[] get_ItemArray ()

/** @property */
public void set_ItemArray (Object[] value)

public function get ItemArray () : Object[]

public function set ItemArray (value : Object[])

Property Value

An array of type Object.

Exception typeCondition


The array is larger than the number of columns in the table.


A value in the array does not match its DataType in its respective DataColumn.


An edit broke a constraint.


An edit tried to change the value of a read-only column.


An edit tried to put a null value in a column where the AllowDBNull of the DataColumn object is false.


The row has been deleted.

Passing a null reference (Nothing in Visual Basic) in the ItemArray indicates no value specified.

An exception can occur if a user generates an exception in the ColumnChanging event, or the RowChanging event.

The following examples show how to get and set values using the ItemArray property.

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[1]= "item " + i;
        relation = dt.NewRow();
        relation.ItemArray = rowArray;

private DataTable MakeTableWithAutoIncrement()
    // Make a table with one AutoIncrement column.
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id", 
    idColumn.AutoIncrement = true;
    idColumn.AutoIncrementSeed = 10;

    DataColumn firstNameColumn = new DataColumn("Item", 
    return table;

private void PrintTable(DataTable table)
    foreach(DataRow row in table.Rows)
        foreach(DataColumn column in table.Columns)

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0