DataColumn Constructor (String, Type, String, MappingType)

Initializes a new instance of the DataColumn class using the specified name, data type, expression, and value that determines whether the column is an attribute.

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

public DataColumn (
	string columnName,
	Type dataType,
	string expr,
	MappingType type
public DataColumn (
	String columnName, 
	Type dataType, 
	String expr, 
	MappingType type
public function DataColumn (
	columnName : String, 
	dataType : Type, 
	expr : String, 
	type : MappingType



A string that represents the name of the column to be created. If set to a null reference (Nothing in Visual Basic) or an empty string (""), a default name will be specified when added to the columns collection.


A supported DataType.


The expression used to create this column. For more information, see the Expression property.


One of the MappingType values.

Exception typeCondition


No dataType was specified.

The type argument sets the ColumnMapping property. The property specifies how a DataColumn is mapped when a DataSet is transformed into an XML document. For example, if the column is named "fName," and the value it contains is "Bob," and type is set to MappingType.Attribute, the XML element would be as follows:

<Name fName = 'Bob'/>

For more information about how columns are mapped to elements or attributes, see the ColumnMapping property.

The following example constructs a computed column.

private void CreateComputedColumn(DataTable table)
    System.Type myDataType = 

    // The expression multiplies the "Price" column value 
    // by the "Quantity" to create the "Total" column.
    string expression = "Price * Quantity";

    // Create the column, setting the type to Attribute.
    DataColumn column = new DataColumn("Total", myDataType, 
        expression, MappingType.Attribute);

    // Set various properties.
    column.AutoIncrement = false;
    column.ReadOnly = true;

    // Add the column to a DataTable object's to DataColumnCollection.

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

Community Additions