DataGrid.TableStyles プロパティ
グリッドの DataGridTableStyle オブジェクトのコレクションを取得します。
Public ReadOnly Property TableStyles As GridTableStylesCollection
[C#]
public GridTableStylesCollection TableStyles {get;}
[C++]
public: __property GridTableStylesCollection* get_TableStyles();
[JScript]
public function get TableStyles() : GridTableStylesCollection;
プロパティ値
DataGridTableStyle オブジェクトのコレクションを表す GridTableStylesCollection 。
解説
System.Windows.Forms.DataGrid コントロールによって表示される各テーブルのカスタマイズされたビューを作成するには、 GridTableStylesCollection を使用します。
既定では、 TableStyles プロパティによって返されるコレクションは、 DataGridTableStyle オブジェクトを格納していません。カスタマイズされた一連のビューを作成するには、次の操作を行います。
- DataGridTableStyle オブジェクトを作成します。
- グリッドのテーブル オブジェクトの MappingName を DataTable オブジェクトの TableName に設定します。
- DataGridColumnStyle オブジェクトを GridColumnStyles プロパティによって返された GridColumnStylesCollection の、表示するグリッドの各列に 1 つ追加します。
- 各 DataGridColumnStyle オブジェクトの MappingName を DataColumn の ColumnName に設定します。
- DataGridTableStyle オブジェクトを TableStyles プロパティによって返されるコレクションに追加します。
注意 必ず DataGridColumnStyle オブジェクトを作成して GridColumnStylesCollection に追加してから、 DataGridTableStyle オブジェクトを GridTableStylesCollection に追加します。空の DataGridTableStyle をコレクションに追加すると、自動的に DataGridColumnStyle オブジェクトが生成されます。そのため、 MappingName 値が重複する新しい DataGridColumnStyle オブジェクトを GridColumnStylesCollection に追加しようとすると、例外がスローされます。
使用例
[Visual Basic, C#, C++] DataSet で見つかった各 DataTable に DataGridTableStyle を 1 つ作成し、 DataGridTableStyle オブジェクトの MappingName を DataTable の TableName に設定する例を次に示します。さらに、 DataGridTableStyle オブジェクトは、 TableStyles プロパティによって返された GridTableStylesCollection に追加されます。この例では、 GridTableStylesCollection にある各 DataGridTableStyle の GridColumnStyles プロパティによって返された、 GridColumnStylesCollection にある各 DataGridColumnStyle の MappingName も出力します。
Private Sub AddTables(myDataGrid As DataGrid, _
myDataSet As DataSet )
Dim t As DataTable
For Each t in myDataSet.Tables
Dim myGridTableStyle As DataGridTableStyle = new _
DataGridTableStyle()
myGridTableStyle.MappingName = t.TableName
myDataGrid.TableStyles.Add(myGridTableStyle)
' Note that DataGridColumnStyle objects will
' be created automatically for the first DataGridTableStyle
' when you add it to the GridTableStylesCollection.*/
Next
End Sub
Private Sub PrintGridStyleInfo(myDataGrid As DataGrid )
Dim myGridStyle As DataGridTableStyle
Dim myColumnStyle As DataGridColumnStyle
for each myGridStyle in _
myDataGrid.TableStyles
Console.WriteLine(myGridStyle.MappingName)
for each myColumnStyle in myGridStyle.GridColumnStyles
Console.WriteLine(myColumnStyle.MappingName)
Next
Next
End Sub
[C#]
private void AddTables(DataGrid myDataGrid, DataSet myDataSet){
foreach(DataTable t in myDataSet.Tables){
DataGridTableStyle myGridTableStyle = new
DataGridTableStyle();
myGridTableStyle.MappingName = t.TableName;
myDataGrid.TableStyles.Add(myGridTableStyle);
/* Note that DataGridColumnStyle objects will
be created automatically for the first DataGridTableStyle
when you add it to the GridTableStylesCollection.*/
}
}
private void PrintGridStyleInfo(DataGrid myDataGrid){
/* Print the MappingName of each DataGridTableStyle,
and the MappingName of each DataGridColumnStyle. */
foreach(DataGridTableStyle myGridStyle in
myDataGrid.TableStyles){
Console.WriteLine(myGridStyle.MappingName);
foreach(DataGridColumnStyle myColumnStyle in
myGridStyle.GridColumnStyles){
Console.WriteLine(myColumnStyle.MappingName);
}
}
}
[C++]
private:
void AddTables(DataGrid* myDataGrid, DataSet* myDataSet){
System::Collections::IEnumerator* myEnum = myDataSet->Tables->GetEnumerator();
while (myEnum->MoveNext())
{
DataTable* t = __try_cast<DataTable*>(myEnum->Current);
DataGridTableStyle* myGridTableStyle = new
DataGridTableStyle();
myGridTableStyle->MappingName = t->TableName;
myDataGrid->TableStyles->Add(myGridTableStyle);
/* Note that DataGridColumnStyle objects will
be created automatically for the first DataGridTableStyle
when you add it to the GridTableStylesCollection.*/
}
}
void PrintGridStyleInfo(DataGrid* myDataGrid){
/* Print the MappingName of each DataGridTableStyle,
and the MappingName of each DataGridColumnStyle. */
System::Collections::IEnumerator* myEnum1 = myDataGrid->TableStyles->GetEnumerator();
while (myEnum1->MoveNext())
{
DataGridTableStyle* myGridStyle = __try_cast<DataGridTableStyle*>(myEnum1->Current);
Console::WriteLine(myGridStyle->MappingName);
System::Collections::IEnumerator* myEnum2 = myGridStyle->GridColumnStyles->GetEnumerator();
while (myEnum2->MoveNext())
{
DataGridColumnStyle* myColumnStyle = __try_cast<DataGridColumnStyle*>(myEnum2->Current);
Console::WriteLine(myColumnStyle->MappingName);
}
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
DataGrid クラス | DataGrid メンバ | System.Windows.Forms 名前空間 | DataColumn | DataTable | DataGridTableStyle | GridTableStylesCollection