次の方法で共有


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 オブジェクトを格納していません。カスタマイズされた一連のビューを作成するには、次の操作を行います。

  1. DataGridTableStyle オブジェクトを作成します。
  2. グリッドのテーブル オブジェクトの MappingNameDataTable オブジェクトの TableName に設定します。
  3. DataGridColumnStyle オブジェクトを GridColumnStyles プロパティによって返された GridColumnStylesCollection の、表示するグリッドの各列に 1 つ追加します。
  4. DataGridColumnStyle オブジェクトの MappingNameDataColumnColumnName に設定します。
  5. DataGridTableStyle オブジェクトを TableStyles プロパティによって返されるコレクションに追加します。

注意   必ず DataGridColumnStyle オブジェクトを作成して GridColumnStylesCollection に追加してから、 DataGridTableStyle オブジェクトを GridTableStylesCollection に追加します。空の DataGridTableStyle をコレクションに追加すると、自動的に DataGridColumnStyle オブジェクトが生成されます。そのため、 MappingName 値が重複する新しい DataGridColumnStyle オブジェクトを GridColumnStylesCollection に追加しようとすると、例外がスローされます。

使用例

[Visual Basic, C#, C++] DataSet で見つかった各 DataTableDataGridTableStyle を 1 つ作成し、 DataGridTableStyle オブジェクトの MappingNameDataTableTableName に設定する例を次に示します。さらに、 DataGridTableStyle オブジェクトは、 TableStyles プロパティによって返された GridTableStylesCollection に追加されます。この例では、 GridTableStylesCollection にある各 DataGridTableStyleGridColumnStyles プロパティによって返された、 GridColumnStylesCollection にある各 DataGridColumnStyleMappingName も出力します。

 
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