DataColumn イベント
DataColumn クラス
アセンブリ: System.Data (system.data.dll 内)


DataColumn は、DataTable のスキーマを作成するための基本的なビルド ブロックです。スキーマを作成するには、1 つ以上の DataColumn オブジェクトを DataColumnCollection に追加します。詳細については、「テーブルへの列の追加」を参照してください。
各 DataColumn には、その DataColumn に格納されるデータの種類を決定する DataType プロパティがあります。たとえば、データ型を整数、文字列、10 進数などに制限できます。通常、DataTable に格納されるデータは、元のデータ ソースにマージ バックされるため、データ型をデータ ソース内のデータ型と一致させる必要があります。詳細については、「データ プロバイダのデータ型から .NET Framework のデータ型への変換」を参照してください。
AllowDBNull、Unique、ReadOnly などのプロパティを使用して、データの入力と更新に対して制限を設け、データの整合性が保証されるようにします。AutoIncrement、AutoIncrementSeed、AutoIncrementStep の各プロパティを使用して、自動データ生成も制御できます。AutoIncrement 列の詳細については、「AutoIncrement 列の作成」を参照してください。詳細については、「テーブルの主キーの定義」を参照してください。
UniqueConstraint を作成し、DataColumn が属する DataTable の ConstraintCollection にこの制約を追加して、DataColumn 内の値が一意であるようにすることもできます。詳細については、「テーブルへの制約の追加」を参照してください。
DataColumn オブジェクト間のリレーションシップを作成するには、DataRelation オブジェクトを作成し、このオブジェクトを DataSet の DataRelationCollection に追加します。
DataColumn オブジェクトの Expression プロパティを使用して、列内の値を計算したり、集約列を作成したりできます。詳細については、「式列の作成」を参照してください。

複数の DataColumn オブジェクトを使用して DataTable を作成する例を次に示します。
Private Sub MakeTable() ' Create a DataTable. Dim table As DataTable = new DataTable("Product") ' Create a DataColumn and set various properties. Dim column As DataColumn = 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
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); } }

System.ComponentModel.MarshalByValueComponent
System.Data.DataColumn


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataColumn コンストラクタ ()
アセンブリ: System.Data (system.data.dll 内)


作成された DataColumn オブジェクトには、既定の ColumnName と Caption がありません。これを DataColumnCollection に追加するときに、ColumnName に名前が割り当てられていない場合、既定の名前 ("Column1"、"Column2" など) が生成されます。

新しい DataColumn を作成し、各種のプロパティを設定し、この列を DataTable オブジェクトの DataColumnCollection に追加する例を次に示します。
Private Sub AddDataColumn(ByVal table As DataTable) Dim column As DataColumn = New DataColumn() ' Set various properties. With column .ColumnName = "id" .DataType = System.Type.GetType("System.Int32") .AutoIncrement = True .AutoIncrementSeed = 1 .AutoIncrementStep = 1 .ReadOnly = True End With ' Add to Columns collection. table.Columns.Add(column) End Sub
private void AddDataColumn(DataTable table) { DataColumn column = new DataColumn(); // Set various properties. column.ColumnName = "id"; column.DataType = System.Type.GetType("System.Int32"); column.AutoIncrement = true; column.AutoIncrementSeed = 1; column.AutoIncrementStep = 1; column.ReadOnly = true; // Add to Columns collection. table.Columns.Add(column); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataColumn コンストラクタ (String, Type, String)
アセンブリ: System.Data (system.data.dll 内)

Dim columnName As String Dim dataType As Type Dim expr As String Dim instance As New DataColumn(columnName, dataType, expr)


Private Sub AddDataColumn(ByVal table As DataTable) Dim column As DataColumn Dim decimalType As System.Type decimalType = System.Type.GetType("System.Decimal") column = New DataColumn("Tax", decimalType, "UnitPrice * .0862") ' Set various properties. With column .AutoIncrement = False .ReadOnly = True End With ' Add to Columns collection. table.Columns.Add(column) End Sub
private void AddDataColumn(DataTable table) { System.Type decimalType; decimalType = System.Type.GetType("System.Decimal"); // Create the column. The name is 'Tax,' with data type Decimal,and // an expression ('UnitPrice * .0862) to calculate the tax. DataColumn column = new DataColumn("Tax", decimalType, "UnitPrice * .0862"); // Set various properties. column.AutoIncrement = false; column.ReadOnly = true; // Add to Columns collection.; table.Columns.Add(column); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataColumn クラス
DataColumn メンバ
System.Data 名前空間
DefaultValue
ColumnName
Caption
DataTable
DataType
Expression
DataColumn コンストラクタ (String)
アセンブリ: System.Data (system.data.dll 内)



指定した ColumnName を使用して新しい DataColumn を作成する例を次に示します。
Private Sub AddDataColumn(ByVal table As DataTable) Dim column As DataColumn column = New DataColumn("id") ' Set various properties. With column .DataType = System.Type.GetType("System.Int32") .AutoIncrement = True .AutoIncrementSeed = 1 .AutoIncrementStep = 1 .ReadOnly = True End With ' Add to Columns collection. table.Columns.Add(column) End Sub
private void AddDataColumn(DataTable table) { DataColumn column = new DataColumn("id"); // Set various properties. column.DataType = System.Type.GetType("System.Int32"); column.AutoIncrement = true; column.AutoIncrementSeed = 1; column.AutoIncrementStep = 1; column.ReadOnly = true; // Add to Columns collection. table.Columns.Add(column); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataColumn コンストラクタ

名前 | 説明 |
---|---|
DataColumn () | DataColumn クラスの新しいインスタンスを文字列型として初期化します。 .NET Compact Framework によってサポートされています。 |
DataColumn (String) | 指定した列名を使用して、DataColumn クラスの新しいインスタンスを文字列型として初期化します。 .NET Compact Framework によってサポートされています。 |
DataColumn (String, Type) | 指定した列名とデータ型を使用して DataColumn クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
DataColumn (String, Type, String) | 指定した名前、データ型、および式を使用して DataColumn クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
DataColumn (String, Type, String, MappingType) | 指定した名前、データ型、式、およびこの列が属性かどうかを決定する値を使用して、DataColumn クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |

関連項目
DataColumn クラスDataColumn メンバ
System.Data 名前空間
ColumnName
Caption
DefaultValue
DataTable
DataType
DataColumn コンストラクタ (String, Type)
アセンブリ: System.Data (system.data.dll 内)



指定した ColumnName と DataType を使用して新しい DataColumn を作成する例を次に示します。
Private Sub AddDataColumn(ByVal table As DataTable) Dim typeInt32 As System.Type = _ System.Type.GetType("System.Int32") Dim column As DataColumn = _ New DataColumn("id", typeInt32) ' Set various properties. With column .AutoIncrement = True .AutoIncrementSeed = 1 .AutoIncrementStep = 1 .ReadOnly = True End With ' Add to Columns collection. table.Columns.Add(column) End Sub
private void AddDataColumn(DataTable table) { System.Type typeInt32 = System.Type.GetType("System.Int32"); DataColumn column = new DataColumn("id", typeInt32); // Set various properties. column.AutoIncrement = true; column.AutoIncrementSeed = 1; column.AutoIncrementStep = 1; column.ReadOnly = true; // Add to Columns collection. table.Columns.Add(column); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataColumn コンストラクタ (String, Type, String, MappingType)
アセンブリ: System.Data (system.data.dll 内)

Public Sub New ( _ columnName As String, _ dataType As Type, _ expr As String, _ type As MappingType _ )
Dim columnName As String Dim dataType As Type Dim expr As String Dim type As MappingType Dim instance As New DataColumn(columnName, dataType, expr, type)
public function DataColumn ( columnName : String, dataType : Type, expr : String, type : MappingType )


引数 type は ColumnMapping プロパティを設定します。このプロパティは、DataSet を XML ドキュメントに変換した場合に DataColumn を変換する方法を指定します。たとえば、この列に "fName" という名前が指定され、値 "Bob" が格納されていて、type が MappingType.Attribute に設定されている場合、この列の XML 要素は次のようになります。

Private Sub CreateComputedColumn(ByVal table As DataTable) Dim column As DataColumn Dim decimalType As System.Type = _ System.Type.GetType("System.Decimal") ' The expression multiplies the "Price" column value by the ' "Quantity" to create the "Total" column. Dim expression As String = "Price * Quantity" ' Create the column, setting the type to Attribute. column = New DataColumn("Total", decimalType, _ expression, MappingType.Attribute) ' Set various properties. column.AutoIncrement = False column.ReadOnly = True ' Add the column to a DataTable object's DataColumnCollection. DataSet1.Tables("OrderDetails").Columns.Add(column) End Sub
private void CreateComputedColumn(DataTable table) { System.Type myDataType = System.Type.GetType("System.Decimal"); // The expression multiplies the "Price" column value // by the "Quantity" to create the "Total" column. string expression = "Price * Quantity"; // Create the column, setting the type to Attribute. DataColumn column = new DataColumn("Total", myDataType, expression, MappingType.Attribute); // Set various properties. column.AutoIncrement = false; column.ReadOnly = true; // Add the column to a DataTable object's to DataColumnCollection. DataSet1.Tables["OrderDetails"].Columns.Add(column); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataColumn クラス
DataColumn メンバ
System.Data 名前空間
ColumnName
ColumnMapping
Caption
DefaultValue
DataTable
DataType
DataColumn プロパティ

名前 | 説明 | |
---|---|---|
![]() | Container | コンポーネントを格納するコンテナを取得します。 ( MarshalByValueComponent から継承されます。) |
![]() | DesignMode | コンポーネントが現在デザイン モードかどうかを示す値を取得します。 ( MarshalByValueComponent から継承されます。) |
![]() | Site | コンポーネントのサイトを取得または設定します。 ( MarshalByValueComponent から継承されます。) |
![]() | Unique | 列の各行の値が一意である必要があるかどうかを示す値を取得または設定します。 |


DataColumn メソッド

名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 ( MarshalByValueComponent から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetService | IServiceProvider を実装しているオブジェクトを取得します。 ( MarshalByValueComponent から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | SetOrdinal | DataColumn の序数または位置を、指定された序数または位置に変更します。 |
![]() | ToString | オーバーライドされます。 列の Expression がある場合は、その式を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | CheckNotAllowNull | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |
![]() | CheckUnique | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |
![]() | Dispose | オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 ( MarshalByValueComponent から継承されます。) |
![]() | Finalize | [To be supplied.] ( MarshalByValueComponent から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | OnPropertyChanging | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |
![]() | RaisePropertyChanging | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |

DataColumn メンバ
DataColumn データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Container | コンポーネントを格納するコンテナを取得します。(MarshalByValueComponent から継承されます。) |
![]() | DesignMode | コンポーネントが現在デザイン モードかどうかを示す値を取得します。(MarshalByValueComponent から継承されます。) |
![]() | Site | コンポーネントのサイトを取得または設定します。(MarshalByValueComponent から継承されます。) |
![]() | Unique | 列の各行の値が一意である必要があるかどうかを示す値を取得または設定します。 |


名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 (MarshalByValueComponent から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetService | IServiceProvider を実装しているオブジェクトを取得します。 (MarshalByValueComponent から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | SetOrdinal | DataColumn の序数または位置を、指定された序数または位置に変更します。 |
![]() | ToString | オーバーライドされます。 列の Expression がある場合は、その式を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | CheckNotAllowNull | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |
![]() | CheckUnique | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |
![]() | Dispose | オーバーロードされます。 MarshalByValueComponent によって使用されているリソースを解放します。 (MarshalByValueComponent から継承されます。) |
![]() | Finalize | [To be supplied.] (MarshalByValueComponent から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | OnPropertyChanging | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |
![]() | RaisePropertyChanging | このメンバは .NET Framework インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 |


- DataColumnのページへのリンク