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
継承

次の例では、複数DataColumnのオブジェクトを含む をDataTable作成します。

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。 スキーマを作成するには、 に 1 つ以上のDataColumnDataColumnCollectionオブジェクトを追加します。 詳細については、「 DataTable への列の追加」を参照してください。

それぞれに DataColumn 、 に DataType 含まれるデータの種類を決定する DataColumn プロパティがあります。 たとえば、データ型を整数、文字列、または 10 進数に制限できます。 に含まれる DataTable データは通常、元のデータ ソースにマージされるため、データ型をデータ ソース内のデータ型と一致させる必要があります。 詳細については、「 ADO.NET のデータ型マッピング」を参照してください。

、、 などのAllowDBNullUniqueReadOnlyプロパティは、データの入力と更新に制限を設定するため、データの整合性を保証するのに役立ちます。 、、および AutoIncrementStep プロパティをAutoIncrementAutoIncrementSeed使用して、データの自動生成を制御することもできます。 列の詳細 AutoIncrement については、「自動作成列 の作成」を参照してください。 詳しくは、「主キーの定義」をご覧ください。

また、 内のDataColumn値が一意であることを確認するには、 をUniqueConstraint作成し、 が属する DataColumnDataTableConstraintCollection追加します。 詳しくは、「DataTable の制約」をご覧ください。

オブジェクト間DataColumnに関係を作成するには、 オブジェクトをDataRelation作成し、 の DataSetDataRelationCollection追加します。

オブジェクトの プロパティをExpressionDataColumn使用して、列の値を計算したり、集計列を作成したりできます。 詳細については、「 式列の作成」を参照してください。

コンストラクター

DataColumn()

クラスの新しいインスタンスを DataColumn 型文字列として初期化します。

DataColumn(String)

指定した列名を使用して、DataColumn クラスの新しいインスタンスを文字列型として初期化します。

DataColumn(String, Type)

指定した列名とデータ型を使用して DataColumn クラスの新しいインスタンスを初期化します。

DataColumn(String, Type, String)

指定した名前、データ型、および式を使用して DataColumn クラスの新しいインスタンスを初期化します。

DataColumn(String, Type, String, MappingType)

指定した名前、データ型、式、およびこの列が属性かどうかを決定する値を使用して、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 コレクション内の 0 から始まる列の位置を取得します。

Prefix

DataTable の名前空間に別名を付ける XML プリフィックスを取得または設定します。

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)

適用対象

スレッド セーフ

この型は、マルチスレッド読み取り操作に安全です。 書き込み操作は同期する必要があります。

こちらもご覧ください