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 System.Data.dll)

public Object[] ItemArray { get; set; }

Property Value

Type: System.Object[]
An array of type Object.


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 AllowDBNull of the DataColumn object is false.


The row has been deleted.

You can use this property to set or get values for this row through an array. If you use this property to set values, the array must have the same size and ordering as the column collection. Passing null in the ItemArray indicates that no value was specified.

Users can generate exceptions 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)

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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