DataColumn 类

定义

表示 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 中的数据类型映射

UniqueReadOnlyAllowDBNull属性对数据的输入和更新施加了限制,从而有助于保证数据完整性。 还可以使用 AutoIncrementAutoIncrementSeedAutoIncrementStep 属性来控制自动数据生成。 有关列的详细信息 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 属性设置为 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)

扩展方法

GetKeyedService<T>(IServiceProvider, Object)

IServiceProvider获取 类型的T服务。

GetKeyedServices(IServiceProvider, Type, Object)

IServiceProvider获取 类型的serviceType服务的枚举。

GetKeyedServices<T>(IServiceProvider, Object)

IServiceProvider获取 类型的T服务的枚举。

GetRequiredKeyedService(IServiceProvider, Type, Object)

IServiceProvider获取 类型的serviceType服务。

GetRequiredKeyedService<T>(IServiceProvider, Object)

IServiceProvider获取 类型的T服务。

CreateAsyncScope(IServiceProvider)

新建可用于解析作用域内服务的 AsyncServiceScope

CreateScope(IServiceProvider)

新建可用于解析作用域内服务的 IServiceScope

GetRequiredService(IServiceProvider, Type)

IServiceProvider 获取类型 serviceType 的服务。

GetRequiredService<T>(IServiceProvider)

IServiceProvider 获取类型 T 的服务。

GetService<T>(IServiceProvider)

IServiceProvider 获取类型 T 的服务。

GetServices(IServiceProvider, Type)

IServiceProvider 获取 serviceType 类型服务的枚举。

GetServices<T>(IServiceProvider)

IServiceProvider 获取 T 类型服务的枚举。

GetFakeLogCollector(IServiceProvider)

获取对象,该对象收集发送到假记录器中的日志记录。

GetFakeRedactionCollector(IServiceProvider)

从依赖项注入容器中获取假的重设函数收集器实例。

适用于

线程安全性

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

另请参阅