DataRowExtensions.SetField<T> Method (DataRow, Int32, T)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Sets a new value for the specified column in the DataRow the method is called on. The SetField<T> method also supports nullable types.

Namespace:   System.Data
Assembly:  System.Data.DataSetExtensions (in System.Data.DataSetExtensions.dll)

public static void SetField<T>(
	this DataRow row,
	int columnIndex,
	T value


Type: System.Data.DataRow

The input DataRow, which acts as the this instance for the extension method.

Type: System.Int32

The zero-based ordinal of the column to set the value of.

Type: T

The new row value for the specified column, of type T.

Type Parameters


A generic parameter that specifies the value type of the column.

Exception Condition

Occurs when attempting to set a value on a deleted row.


The ordinal argument is out of range.


The value type of the underlying column could be not cast to the type specified by the generic parameter, T.

If value is null, the SetField<T> method converts the null value to Value in the underlying DataColumn.

The SetField<T> method does not perform any type conversions. This does not mean, however, that a type conversion will not occur. The SetField<T> method exposes the ADO.NET 2.0 behavior of the DataRow class. A type conversion could be performed by the DataRow object and the converted value would then be saved to the row.

Exceptions can be passed up through the SetField<T> method from the underlying DataRow object.

.NET Framework
Available since 3.5
Return to top