通过


DataColumn 类

定义

表示列中 DataTable的架构。

public ref class DataColumn : System::ComponentModel::MarshalByValueComponent
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
public class DataColumn : System.ComponentModel.MarshalByValueComponent
public class DataColumn : System.ComponentModel.MarshalByValueComponent
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)>]
type DataColumn = class
    inherit 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 中的数据类型映射

属性(例如 AllowDBNullUnique)对 ReadOnly 数据的输入和更新施加限制,从而有助于保证数据完整性。 还可以使用AutoIncrement属性AutoIncrementSeedAutoIncrementStep来控制自动生成数据。 有关列的详细信息 AutoIncrement ,请参阅 “创建自动创建列”。 有关详细信息,请参阅 定义主键

还可以通过创建值并将其添加到ConstraintCollection其所属位置来确保值DataColumn是唯一的DataTableDataColumnUniqueConstraint 有关详细信息,请参阅 DataTable 约束

若要在对象之间DataColumn创建关系,请创建一个DataRelation对象并将其添加到对象DataSetDataRelationCollection

可以使用 Expression 对象的属性 DataColumn 来计算列中的值,或创建聚合列。 有关详细信息,请参阅 创建表达式列

构造函数

名称 说明
DataColumn()

将类的新实例 DataColumn 初始化为类型字符串。

DataColumn(String, Type, String, MappingType)

使用指定的名称、数据类型、表达式和值初始化类的新实例 DataColumn ,该值确定列是否为属性。

DataColumn(String, Type, String)

使用指定的名称、数据类型和表达式初始化类的新实例 DataColumn

DataColumn(String, Type)

使用指定的列名称和数据类型初始化类的新实例 DataColumn

DataColumn(String)

使用指定的列名将类的新实例 DataColumn 初始化为类型字符串。

属性

名称 说明
AllowDBNull

获取或设置一个值,该值指示是否允许在此列中为属于表的行提供 null 值。

AutoIncrement

获取或设置一个值,该值指示列是否自动递增添加到表中的新行的列的值。

AutoIncrementSeed

获取或设置其 AutoIncrement 属性设置为 true的列的起始值。 默认值为 0。

AutoIncrementStep

获取或设置列使用的增量,其 AutoIncrement 属性设置为 true

Caption

获取或设置列的标题。

ColumnMapping

获取或设置 MappingType 列。

ColumnName

获取或设置列中 DataColumnCollection的名称。

Container

获取组件的容器。

(继承自 MarshalByValueComponent)
DataType

获取或设置存储在列中的数据的类型。

DateTimeMode

获取或设置 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)

适用于

线程安全性

此类型对于多线程读取操作是安全的。 必须同步任何写入操作。

另请参阅