DataColumn Constructor (String, Type, String, MappingType)


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

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

public DataColumn(
	string columnName,
	Type dataType,
	string expr,
	MappingType type


Type: System.String

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

Type: System.Type

A supported DataType.

Type: System.String

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

Type: System.Data.MappingType

One of the MappingType values.

Exception Condition

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.

.NET Framework
Available since 1.1
Return to top