Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SetField(T) Method (DataRow, Int32, T)

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

Sets a new value for the specified column in the DataRow the method is called on. The SetField 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 Parameters


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


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.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type DataRow. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).


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 method converts the null value to Value in the underlying DataColumn.

The SetField method does not perform any type conversions. This does not mean, however, that a type conversion will not occur. The SetField 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 method from the underlying DataRow object.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft