DataColumn 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示列中 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 中的数据类型映射。
属性(例如 AllowDBNull, Unique)对 ReadOnly 数据的输入和更新施加限制,从而有助于保证数据完整性。 还可以使用AutoIncrement属性AutoIncrementSeedAutoIncrementStep来控制自动生成数据。 有关列的详细信息 AutoIncrement ,请参阅 “创建自动创建列”。 有关详细信息,请参阅 定义主键。
还可以通过创建值并将其添加到ConstraintCollection其所属位置来确保值DataColumn是唯一的DataTableDataColumn。UniqueConstraint 有关详细信息,请参阅 DataTable 约束。
若要在对象之间DataColumn创建关系,请创建一个DataRelation对象并将其添加到对象DataSet。DataRelationCollection
可以使用 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 属性设置为 |
| 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) |
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步任何写入操作。