DataColumn 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 DataTable 中的列的架构。
public ref class DataColumn : System::ComponentModel::MarshalByValueComponent
	public class DataColumn : System.ComponentModel.MarshalByValueComponent
	type DataColumn = class
    inherit MarshalByValueComponent
	Public Class DataColumn
Inherits MarshalByValueComponent
		- 继承
 
示例
以下示例创建 DataTable 具有多个 DataColumn 对象的 。
private void MakeTable()
{
    // Create a DataTable.
    DataTable table = new DataTable("Product");
    // Create a DataColumn and set various properties.
    DataColumn column = new DataColumn();
    column.DataType = System.Type.GetType("System.Decimal");
    column.AllowDBNull = false;
    column.Caption = "Price";
    column.ColumnName = "Price";
    column.DefaultValue = 25;
    // Add the column to the table.
    table.Columns.Add(column);
    // Add 10 rows and set values.
    DataRow row;
    for(int i = 0; i < 10; i++)
    {
        row = table.NewRow();
        row["Price"] = i + 1;
        // Be sure to add the new row to the
        // DataRowCollection.
        table.Rows.Add(row);
    }
}
Private Sub MakeTable()
    ' Create a DataTable. 
    Dim table As New DataTable("Product")
    ' Create a DataColumn and set various properties. 
    Dim column As New DataColumn()
    column.DataType = System.Type.GetType("System.Decimal") 
    column.AllowDBNull = False 
    column.Caption = "Price"  
    column.ColumnName = "Price" 
    column.DefaultValue = 25 
    ' Add the column to the table. 
    table.Columns.Add(column) 
    ' Add 10 rows and set values. 
    Dim row As DataRow 
    Dim i As Integer  
    For i = 0 to 9 
        row = table.NewRow() 
        row("Price") = i + 1 
        ' Be sure to add the new row to 
        ' the DataRowCollection. 
        table.Rows.Add(row) 
    Next i 
End Sub
	注解
DataColumn是用于创建 架构DataTable的基本构建基块。 通过将一个或多个 DataColumn 对象添加到 来 DataColumnCollection生成架构。 有关详细信息,请参阅 向 DataTable 添加列。
每个 都有 DataColumn 一个 DataType 属性,用于确定 所包含的数据类型 DataColumn 。 例如,可以将数据类型限制为整数、字符串或小数。 由于 包含 DataTable 的数据通常会合并回其原始数据源,因此必须将数据类型与数据源中的数据类型匹配。 有关详细信息,请参阅 ADO.NET 中的数据类型映射。
、 Unique和 ReadOnly 等AllowDBNull属性对数据的输入和更新施加了限制,从而有助于保证数据完整性。 还可以使用 AutoIncrement、 AutoIncrementSeed和 AutoIncrementStep 属性来控制自动数据生成。 有关列的详细信息 AutoIncrement ,请参阅 Creating AutoIncrement Columns。 有关详细信息,请参阅定义主键。
还可以通过创建 并将其添加到 ConstraintCollection 所属的 的 中DataColumnDataTable,确保 中的值DataColumn是唯一UniqueConstraint的。 有关详细信息,请参阅DataTable 约束。
若要在 对象之间DataColumn创建关系,请创建 一个 DataRelation 对象并将其添加到 DataRelationCollection 的 。DataSet
可以使用 Expression 对象的 属性 DataColumn 计算列中的值,或创建聚合列。 有关详细信息,请参阅 创建表达式列。
构造函数
| DataColumn() | 
		 将 类的新实例 DataColumn 初始化为类型字符串。  | 
        	
| DataColumn(String) | 
		 使用指定的列名称将 DataColumn 类的新实例初始化为类型字符串。  | 
        	
| DataColumn(String, Type) | 
		 使用指定列名称和数据类型初始化 DataColumn 类的新实例。  | 
        	
| DataColumn(String, Type, String) | 
		 使用指定的名称、数据类型和表达式初始化 DataColumn 类的新实例。  | 
        	
| DataColumn(String, Type, String, MappingType) | 
		 使用指定名称、数据类型、表达式和确定列是否为特性的值,初始化 DataColumn 类的新实例。  | 
        	
属性
| AllowDBNull | 
		 获取或设置一个值,该值指示对于属于该表的行,此列中是否允许空值。  | 
        	
| AutoIncrement | 
		 获取或设置一个值,该值指示对于添加到该表中的新行,列是否将列的值自动递增。  | 
        	
| AutoIncrementSeed | 
		 获取或设置其 AutoIncrement 属性设置为   | 
        	
| AutoIncrementStep | 
		 获取或设置其 AutoIncrement 属性设置为   | 
        	
| Caption | 
		 获取或设置列的标题。  | 
        	
| ColumnMapping | 
		 获取或设置列的 MappingType。  | 
        	
| ColumnName | 
		 获取或设置 DataColumnCollection 中的列的名称。  | 
        	
| Container | 
		 获取组件的容器。 (继承自 MarshalByValueComponent) | 
        	
| DataType | 
		 获取或设置存储在列中的数据的类型。  | 
        	
| DateTimeMode | 
		 获取或设置列的   | 
        	
| DefaultValue | 
		 在创建新行时获取或设置列的默认值。  | 
        	
| DesignMode | 
		 获取指示组件当前是否处于设计模式的值。 (继承自 MarshalByValueComponent) | 
        	
| Events | 
		 获取附加到该组件的事件处理程序的列表。 (继承自 MarshalByValueComponent) | 
        	
| Expression | 
		 获取或设置表达式,用于筛选行、计算列中的值或创建聚合列。  | 
        	
| ExtendedProperties | 
		 获取与 DataColumn 相关的自定义用户信息的集合。  | 
        	
| MaxLength | 
		 获取或设置文本列的最大长度。  | 
        	
| Namespace | 
		 获取或设置 DataColumn 的命名空间。  | 
        	
| Ordinal | 
		 获取列在 DataColumnCollection 集合中的位置(从零开始)。  | 
        	
| Prefix | 
		 获取或设置一个 XML 前缀,该前缀是 DataTable 的命名空间的别名。  | 
        	
| ReadOnly | 
		 获取或设置一个值,该值指示一旦向表中添加了行,列是否还允许更改。  | 
        	
| Site | 
		 获取或设置组件的站点。 (继承自 MarshalByValueComponent) | 
        	
| Table | 
		 获取列所属的 DataTable。  | 
        	
| Unique | 
		 获取或设置一个值,该值指示列的每一行中的值是否必须是唯一的。  | 
        	
方法
| CheckNotAllowNull() | 
		 此成员支持 .NET 基础结构,但不能在代码中直接使用。  | 
        	
| CheckUnique() | 
		 此成员支持 .NET 基础结构,但不能在代码中直接使用。  | 
        	
| Dispose() | 
		 释放由 MarshalByValueComponent 使用的所有资源。 (继承自 MarshalByValueComponent) | 
        	
| Dispose(Boolean) | 
		 释放由 MarshalByValueComponent 占用的非托管资源,还可以另外再释放托管资源。 (继承自 MarshalByValueComponent) | 
        	
| Equals(Object) | 
		 确定指定对象是否等于当前对象。 (继承自 Object) | 
        	
| GetHashCode() | 
		 作为默认哈希函数。 (继承自 Object) | 
        	
| GetService(Type) | 
		 获取 IServiceProvider 的实施者。 (继承自 MarshalByValueComponent) | 
        	
| GetType() | 
		 获取当前实例的 Type。 (继承自 Object) | 
        	
| MemberwiseClone() | 
		 创建当前 Object 的浅表副本。 (继承自 Object) | 
        	
| OnPropertyChanging(PropertyChangedEventArgs) | 
		 此成员支持 .NET 基础结构,但不能在代码中直接使用。  | 
        	
| RaisePropertyChanging(String) | 
		 此成员支持 .NET 基础结构,但不能在代码中直接使用。  | 
        	
| SetOrdinal(Int32) | 
		 将 DataColumn 的序号或位置更改为指定的序号或位置。  | 
        	
| ToString() | 
		 获取列的 Expression(如果存在的话)。  | 
        	
事件
| Disposed | 
		 添加用于侦听组件的 Disposed 事件的事件处理程序。 (继承自 MarshalByValueComponent) | 
        	
扩展方法
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步所有写入操作。