DataGridTableStyle クラス

定義

DataGrid コントロールによって実行時に描画されるテーブルを表します。

public ref class DataGridTableStyle : System::ComponentModel::Component, System::Windows::Forms::IDataGridEditingService
public class DataGridTableStyle : System.ComponentModel.Component, System.Windows.Forms.IDataGridEditingService
type DataGridTableStyle = class
    inherit Component
    interface IDataGridEditingService
Public Class DataGridTableStyle
Inherits Component
Implements IDataGridEditingService
継承
DataGridTableStyle
実装

次のコード例では、2 つのDataGridTableStyleインスタンスを作成し、各オブジェクトの を MappingNameDataSetの の DataTableTableName設定します。 次に、各 DataGridTableStyleの にオブジェクトをGridColumnStylesCollection追加DataGridColumnStyleします。 を実行する例については、 の例を System.Windows.Forms.DataGrid 参照してください。

void AddCustomDataTableStyle()
{
   
   /* Create a new DataGridTableStyle and set
         its MappingName to the TableName of a DataTable. */
   DataGridTableStyle^ ts1 = gcnew DataGridTableStyle;
   ts1->MappingName = "Customers";
   
   /* Add a GridColumnStyle and set its MappingName 
         to the name of a DataColumn in the DataTable. 
         Set the HeaderText and Width properties. */
   DataGridColumnStyle^ boolCol = gcnew DataGridBoolColumn;
   boolCol->MappingName = "Current";
   boolCol->HeaderText = "IsCurrent Customer";
   boolCol->Width = 150;
   ts1->GridColumnStyles->Add( boolCol );
   
   // Add a second column style.
   DataGridColumnStyle^ TextCol = gcnew DataGridTextBoxColumn;
   TextCol->MappingName = "custName";
   TextCol->HeaderText = "Customer Name";
   TextCol->Width = 250;
   ts1->GridColumnStyles->Add( TextCol );
   
   // Create the second table style with columns.
   DataGridTableStyle^ ts2 = gcnew DataGridTableStyle;
   ts2->MappingName = "Orders";
   
   // Change the colors.
   ts2->ForeColor = Color::Yellow;
   ts2->AlternatingBackColor = Color::Blue;
   ts2->BackColor = Color::Blue;
   
   // Create new DataGridColumnStyle objects.
   DataGridColumnStyle^ cOrderDate = gcnew DataGridTextBoxColumn;
   cOrderDate->MappingName = "OrderDate";
   cOrderDate->HeaderText = "Order Date";
   cOrderDate->Width = 100;
   ts2->GridColumnStyles->Add( cOrderDate );
   PropertyDescriptorCollection^ pcol = this->BindingContext[ myDataSet,"Customers.custToOrders" ]->GetItemProperties();
   DataGridColumnStyle^ csOrderAmount = gcnew DataGridTextBoxColumn( pcol[ "OrderAmount" ],"c",true );
   csOrderAmount->MappingName = "OrderAmount";
   csOrderAmount->HeaderText = "Total";
   csOrderAmount->Width = 100;
   ts2->GridColumnStyles->Add( csOrderAmount );
   
   // Add the DataGridTableStyle objects to the collection.
   myDataGrid->TableStyles->Add( ts1 );
   myDataGrid->TableStyles->Add( ts2 );
}
private void AddCustomDataTableStyle()
   {
      /* Create a new DataGridTableStyle and set
      its MappingName to the TableName of a DataTable. */
      DataGridTableStyle ts1 = new DataGridTableStyle();
      ts1.MappingName = "Customers";

      /* Add a GridColumnStyle and set its MappingName 
      to the name of a DataColumn in the DataTable. 
      Set the HeaderText and Width properties. */
      
      DataGridColumnStyle boolCol = new DataGridBoolColumn();
      boolCol.MappingName = "Current";
      boolCol.HeaderText = "IsCurrent Customer";
      boolCol.Width = 150;
      ts1.GridColumnStyles.Add(boolCol);
      
      // Add a second column style.
      DataGridColumnStyle TextCol = new DataGridTextBoxColumn();
      TextCol.MappingName = "custName";
      TextCol.HeaderText = "Customer Name";
      TextCol.Width = 250;
      ts1.GridColumnStyles.Add(TextCol);

      // Create the second table style with columns.
      DataGridTableStyle ts2 = new DataGridTableStyle();
      ts2.MappingName = "Orders";
      // Change the colors.
      ts2.ForeColor = Color.Yellow;
      ts2.AlternatingBackColor = Color.Blue;
      ts2.BackColor = Color.Blue;
      
      // Create new DataGridColumnStyle objects.
      DataGridColumnStyle cOrderDate = 
      new DataGridTextBoxColumn();
      cOrderDate.MappingName = "OrderDate";
      cOrderDate.HeaderText = "Order Date";
      cOrderDate.Width = 100;
      ts2.GridColumnStyles.Add(cOrderDate);

      PropertyDescriptorCollection pcol = this.BindingContext
      [myDataSet, "Customers.custToOrders"].GetItemProperties();
      
      DataGridColumnStyle csOrderAmount = 
      new DataGridTextBoxColumn(pcol["OrderAmount"], "c", true);
      csOrderAmount.MappingName = "OrderAmount";
      csOrderAmount.HeaderText = "Total";
      csOrderAmount.Width = 100;
      ts2.GridColumnStyles.Add(csOrderAmount);

      // Add the DataGridTableStyle objects to the collection.
      myDataGrid.TableStyles.Add(ts1);
      myDataGrid.TableStyles.Add(ts2);
   }
Private Sub AddCustomDataTableStyle()
    ' Create a new DataGridTableStyle and set
    ' its MappingName to the TableName of a DataTable. 
    Dim ts1 As New DataGridTableStyle()
    ts1.MappingName = "Customers"
    
    ' Add a GridColumnStyle and set its MappingName
    ' to the name of a DataColumn in the DataTable.
    ' Set the HeaderText and Width properties. 
    
    Dim boolCol As New DataGridBoolColumn()
    boolCol.MappingName = "Current"
    boolCol.HeaderText = "IsCurrent Customer"
    boolCol.Width = 150
    ts1.GridColumnStyles.Add(boolCol)
    
    ' Add a second column style.
    Dim TextCol As New DataGridTextBoxColumn()
    TextCol.MappingName = "custName"
    TextCol.HeaderText = "Customer Name"
    TextCol.Width = 250
    ts1.GridColumnStyles.Add(TextCol)

    ' Create the second table style with columns.
    Dim ts2 As New DataGridTableStyle()
    ts2.MappingName = "Orders"

    ' Change the colors.
    ts2.ForeColor = Color.Yellow
    ts2.AlternatingBackColor = Color.Blue
    ts2.BackColor = Color.Blue
    
    ' Create new DataGridColumnStyle objects.
    Dim cOrderDate As New DataGridTextBoxColumn()
    cOrderDate.MappingName = "OrderDate"
    cOrderDate.HeaderText = "Order Date"
    cOrderDate.Width = 100
    ts2.GridColumnStyles.Add(cOrderDate)
    
    Dim pcol As PropertyDescriptorCollection = Me.BindingContext(myDataSet, "Customers.custToOrders").GetItemProperties()
    
    Dim csOrderAmount As New DataGridTextBoxColumn(pcol("OrderAmount"), "c", True)
    csOrderAmount.MappingName = "OrderAmount"
    csOrderAmount.HeaderText = "Total"
    csOrderAmount.Width = 100
    ts2.GridColumnStyles.Add(csOrderAmount)

    ' Add the DataGridTableStyle objects to the collection.
    myDataGrid.TableStyles.Add(ts1)
    myDataGrid.TableStyles.Add(ts2)
End Sub

注釈

コントロールは System.Windows.Forms.DataGrid 、グリッドの形式でデータを表示します。 DataGridTableStyleは、描画されたグリッドのみを表すクラスです。 このグリッドは、 クラスと DataTable 混同しないでください。これは、グリッドのデータソースとして考えられます。 代わりに、 は DataGridTableStyle コントロールで描画されるグリッドを厳密に表します。 したがって、 を DataGridTableStyle 使用して、各 DataTableのグリッドの外観を制御できます。 特定DataTableの からのデータを表示するときに使用するDataGridTableStyleを指定するには、 を MappingNameDataTableTableName設定します。

GridTableStylesCollectionプロパティを通じて取得された にはTableStyles、コントロールによって使用されるすべてのDataGridTableStyleオブジェクトがSystem.Windows.Forms.DataGrid含まれます。 コレクションには必要な数の DataGridTableStyle オブジェクトを含めることができますが、それぞれの オブジェクトは MappingName 一意である必要があります。 実行時に、これにより、ユーザーの好みに応じて、同じデータに対して別 DataGridTableStyle の を置き換えることができます。 これを行うには、次の手順を実行します。

  1. オブジェクトを設定DataGridTableStyleしますGridTableStylesCollectionDataGridTableStyleプロパティ値がオブジェクトTableNameの プロパティとMappingName等しい が にGridTableStylesCollection存在するDataTable場合は、 DataTable がこの DataGridTableStyleと共に表示されます。 一致する MappingNameDataTable が存在しないDataGridTableStyle場合、 はデータ グリッド テーブルの既定のスタイルで表示されます。

  2. 別のグリッド スタイルが必要な場合は、 プロパティをItem使用して適切なDataGridTableStyleを選択し (プロパティに をTableNameItem[]渡す)、返されたオブジェクトの をMappingName新しい値に設定します。

  3. プロパティを Item[] 使用して目的 DataGridTableStyleの を選択し、その を MappingName の に TableName 設定します DataTable

注意事項

オブジェクトを に追加する前に、常に オブジェクトをGridColumnStylesCollection作成DataGridColumnStyleし、 GridTableStylesCollectionに追加DataGridTableStyleします。 有効なMappingName値を持つ空DataGridTableStyleの をコレクションに追加すると、DataGridColumnStyleオブジェクトが自動的に生成されます。 したがって、重複するMappingName値を持つ新しいDataGridColumnStyleオブジェクトを に追加しようとすると、例外がGridColumnStylesCollectionスローされます。

現在表示されているのを DataGridTableStyle 確認するには、 の DataSource プロパティと DataMember プロパティを System.Windows.Forms.DataGrid 使用して を CurrencyManager返します。 データ ソースで インターフェイスが実装されている ITypedList 場合は、 メソッドを GetListName 使用して現在のテーブルの を MappingName 返すことができます。 これは、次の C# コードに示されています。

private void PrintCurrentListName(DataGrid myDataGrid){  
 CurrencyManager myCM = (CurrencyManager)  
 BindingContext[myDataGrid.DataSource, myDataGrid.DataMember];  
 IList myList = myCM.List;  
 ITypedList thisList = (ITypedList) myList;  
 Console.WriteLine(thisList.GetListName(null));  
}  

DataSet オブジェクトにDataRelation関連するオブジェクトが含まれておりDataTable、現在表示されている DataTable が子テーブルの場合、 DataMember は TableName.RelationName の形式で文字列を返します (最も簡単な場合)。 DataTableが階層のさらに下にある場合、文字列は親テーブルの名前の後にテーブルのレベルに到達するために必要なRelationName値で構成されます。 たとえば、(上から下) CustomersOrdersRegions、 という名前の階層関係にある 3 つのDataTableオブジェクトと、 および CustomersToOrdersDataMember という名前RegionsToCustomersの 2 つのDataRelationオブジェクトを想像すると、プロパティは "Regions.RegionsToCustomers.CustomersToOrders" を返します。 ただし、 MappingName は "Orders" になります。

オブジェクトのDataGridTableStyleコレクションは、 の プロパティSystem.Windows.Forms.DataGridTableStyles通じて返されます。

DataGridTableStyleが表示されると、 のDataGridTableStyle設定によってコントロールの設定がSystem.Windows.Forms.DataGridオーバーライドされます。 特定 DataGridTableStyle のプロパティに値が設定されていない場合は、 System.Windows.Forms.DataGrid 代わりにコントロールの値が使用されます。 次の一覧は、コントロールのプロパティを DataGridColumnStyle オーバーライド System.Windows.Forms.DataGrid するように設定できるプロパティを示しています。

をオブジェクトの DataGrid 厳密に型指定された配列にバインドするには、オブジェクト型にパブリック プロパティが含まれている必要があります。 配列を表示する を DataGridTableStyle 作成するには、 プロパティを DataGridTableStyle.MappingNametypename 設定します。ここで typename 、 はオブジェクト型の名前に置き換えられます。 また、 MappingName プロパティでは大文字と小文字が区別されます。型名は正確に一致する必要があります。 例については、 MappingName プロパティを参照してください。

を にArrayListバインドDataGridすることもできます。 の特徴は、複数の ArrayList 型のオブジェクトを含めることができるが、 は、リスト内のすべての項目が DataGrid 最初の項目と同じ型の場合にのみ、そのようなリストにバインドできることです。 つまり、すべてのオブジェクトが同じ型であるか、リスト内の最初の項目と同じクラスから継承する必要があります。 たとえば、リスト内の最初の項目が の場合、Control2 番目の項目は ( からControl継承される) である可能性がありますTextBox。 一方、最初の項目が の TextBox場合、2 番目のオブジェクトを に Controlすることはできません。 さらに、 ArrayList にバインドされている場合は 項目が含まれている必要があり、 内の オブジェクトにはパブリック プロパティが DataGridTableStyle 含まれている必要があります。 空 ArrayList の場合、グリッドは空になります。 にArrayListバインドする場合は、 の DataGridTableStyleMappingName "ArrayList" (型名) に設定します。

コンストラクター

DataGridTableStyle()

DataGridTableStyle クラスの新しいインスタンスを初期化します。

DataGridTableStyle(Boolean)

指定した値を使用して DataGridTableStyle クラスの新しいインスタンスを初期化し、そのグリッド テーブルを既定のスタイルにするかどうかを決定します。

DataGridTableStyle(CurrencyManager)

DataGridTableStyle を指定して、CurrencyManager クラスの新しいインスタンスを初期化します。

フィールド

DefaultTableStyle

既定のテーブル スタイルを取得します。

プロパティ

AllowSorting

DataGridTableStyle を使用する場合に、グリッド テーブルで並べ替えを実行できるかどうかを示します。

AlternatingBackColor

グリッドの奇数行の背景色を取得または設定します。

BackColor

グリッドの偶数行の背景色を取得または設定します。

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
ColumnHeadersVisible

列ヘッダーを表示するかどうかを示す値を取得または設定します。

Container

IContainer を含む Component を取得します。

(継承元 Component)
DataGrid

描画されたテーブルの DataGrid コントロールを取得または設定します。

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
ForeColor

グリッド テーブルの前景色を取得または設定します。

GridColumnStyles

テーブルに描画される列のコレクションを取得します。

GridLineColor

グリッド線の色を取得または設定します。

GridLineStyle

グリッド線のスタイルを取得または設定します。

HeaderBackColor

ヘッダーの背景色を取得または設定します。

HeaderFont

ヘッダーのキャプションに使用するフォントを取得または設定します。

HeaderForeColor

ヘッダーの前景色を取得または設定します。

LinkColor

リンク テキストの色を取得または設定します。

LinkHoverColor

マウス ポインターをリンク テキストの上に配置したときに表示する色を取得または設定します。

MappingName

テーブルを特定のデータ ソースに割り当てるときに使用する名前を取得または設定します。

PreferredColumnWidth

新しいグリッドが表示されるときに作成する列に適用する幅を取得または設定します。

PreferredRowHeight

新しいグリッドが表示されるときに作成する行に適用する高さを取得または設定します。

ReadOnly

列を編集できるかどうかを示す値を取得または設定します。

RowHeadersVisible

行ヘッダーを表示するかどうかを示す値を取得または設定します。

RowHeaderWidth

行ヘッダーの幅を取得または設定します。

SelectionBackColor

選択されているセルの背景色を取得または設定します。

SelectionForeColor

選択されているセルの前景色を取得または設定します。

Site

ComponentISite を取得または設定します。

(継承元 Component)

メソッド

BeginEdit(DataGridColumnStyle, Int32)

編集操作を要求します。

CreateGridColumn(PropertyDescriptor)

指定したプロパティ記述子を使用して、DataGridColumnStyle を作成します。

CreateGridColumn(PropertyDescriptor, Boolean)

指定したプロパティ記述子を使用して、DataGridColumnStyle を作成します。 DataGridColumnStyle が既定の列スタイルかどうかを指定します。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

DataGridTableStyle で使用されていたリソース (メモリを除く) を解放します。

EndEdit(DataGridColumnStyle, Int32, Boolean)

編集操作の終了を要求します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
OnAllowSortingChanged(EventArgs)

AllowSortingChanged イベントを発生させます。

OnAlternatingBackColorChanged(EventArgs)

AlternatingBackColorChanged イベントを発生させます。

OnBackColorChanged(EventArgs)

BackColorChanged イベントを発生させます。

OnColumnHeadersVisibleChanged(EventArgs)

ColumnHeadersVisibleChanged イベントを発生させます。

OnForeColorChanged(EventArgs)

ForeColorChanged イベントを発生させます。

OnGridLineColorChanged(EventArgs)

GridLineColorChanged イベントを発生させます。

OnGridLineStyleChanged(EventArgs)

GridLineStyleChanged イベントを発生させます。

OnHeaderBackColorChanged(EventArgs)

HeaderBackColorChanged イベントを発生させます。

OnHeaderFontChanged(EventArgs)

HeaderFontChanged イベントを発生させます。

OnHeaderForeColorChanged(EventArgs)

HeaderForeColorChanged イベントを発生させます。

OnLinkColorChanged(EventArgs)

LinkColorChanged イベントを発生させます。

OnLinkHoverColorChanged(EventArgs)

LinkHoverColorChanged イベントを発生させます。

OnMappingNameChanged(EventArgs)

MappingNameChanged イベントを発生させます。

OnPreferredColumnWidthChanged(EventArgs)

PreferredColumnWidthChanged イベントを発生させます。

OnPreferredRowHeightChanged(EventArgs)

PreferredRowHeightChanged イベントを発生させます。

OnReadOnlyChanged(EventArgs)

ReadOnlyChanged イベントを発生させます。

OnRowHeadersVisibleChanged(EventArgs)

RowHeadersVisibleChanged イベントを発生させます。

OnRowHeaderWidthChanged(EventArgs)

RowHeaderWidthChanged イベントを発生させます。

OnSelectionBackColorChanged(EventArgs)

SelectionBackColorChanged イベントを発生させます。

OnSelectionForeColorChanged(EventArgs)

SelectionForeColorChanged イベントを発生させます。

ResetAlternatingBackColor()

AlternatingBackColor プロパティを既定値にリセットします。

ResetBackColor()

BackColor プロパティを既定値にリセットします。

ResetForeColor()

ForeColor プロパティを既定値にリセットします。

ResetGridLineColor()

GridLineColor プロパティを既定値にリセットします。

ResetHeaderBackColor()

HeaderBackColor プロパティを既定値にリセットします。

ResetHeaderFont()

HeaderFont プロパティを既定値にリセットします。

ResetHeaderForeColor()

HeaderForeColor プロパティを既定値にリセットします。

ResetLinkColor()

LinkColor プロパティを既定値にリセットします。

ResetLinkHoverColor()

LinkHoverColor プロパティを既定値にリセットします。

ResetSelectionBackColor()

SelectionBackColor プロパティを既定値にリセットします。

ResetSelectionForeColor()

SelectionForeColor プロパティを既定値にリセットします。

ShouldSerializeAlternatingBackColor()

AlternatingBackColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeBackColor()

BackColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeForeColor()

ForeColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeGridLineColor()

GridLineColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeHeaderBackColor()

HeaderBackColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeHeaderForeColor()

HeaderForeColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeLinkColor()

LinkColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeLinkHoverColor()

LinkHoverColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializePreferredRowHeight()

PreferredRowHeight プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeSelectionBackColor()

SelectionBackColor プロパティを永続化する必要があるかどうかを示します。

ShouldSerializeSelectionForeColor()

SelectionForeColor プロパティを永続化する必要があるかどうかを示します。

ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)

イベント

AllowSortingChanged

AllowSorting プロパティの値が変化すると発生します。

AlternatingBackColorChanged

AlternatingBackColor 値が変更されたときに発生します。

BackColorChanged

BackColor 値が変更されたときに発生します。

ColumnHeadersVisibleChanged

ColumnHeadersVisible 値が変更されたときに発生します。

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)
ForeColorChanged

ForeColor 値が変更されたときに発生します。

GridLineColorChanged

GridLineColor 値が変更されたときに発生します。

GridLineStyleChanged

GridLineStyle 値が変更されたときに発生します。

HeaderBackColorChanged

HeaderBackColor 値が変更されたときに発生します。

HeaderFontChanged

HeaderFont 値が変更されたときに発生します。

HeaderForeColorChanged

HeaderForeColor 値が変更されたときに発生します。

LinkColorChanged

LinkColor 値が変更されたときに発生します。

LinkHoverColorChanged

LinkHoverColor 値が変更されたときに発生します。

MappingNameChanged

MappingName 値が変更されたときに発生します。

PreferredColumnWidthChanged

PreferredColumnWidth プロパティの値が変化すると発生します。

PreferredRowHeightChanged

PreferredRowHeight 値が変更されたときに発生します。

ReadOnlyChanged

ReadOnly 値が変更されたときに発生します。

RowHeadersVisibleChanged

RowHeadersVisible 値が変更されたときに発生します。

RowHeaderWidthChanged

RowHeaderWidth 値が変更されたときに発生します。

SelectionBackColorChanged

SelectionBackColor 値が変更されたときに発生します。

SelectionForeColorChanged

SelectionForeColor 値が変更されたときに発生します。

適用対象

こちらもご覧ください