GridTableStylesCollection クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Class GridTableStylesCollection Inherits BaseCollection Implements IList, ICollection, IEnumerable

GridTableStylesCollection は DataGridTableStyle オブジェクトを格納します。DataGrid コントロールは、このオブジェクトを使用して DataSet 内の各 DataTable にカスタマイズされたグリッド スタイルを表示できます。
DataGrid コントロールでは、TableStyles プロパティは GridTableStylesCollection を返します。
既定では、GridTableStylesCollection には DataGridTableStyle オブジェクトが格納されていません。代わりに、DataGrid は、色、幅、および書式指定について既定の設定値を使用して各テーブルを表示します。また、各テーブルのすべての列が表示されます。DataGridTableStyle がコレクションに追加されると、DataGrid は MappingName を使用して、グリッドのデータを提供するオブジェクトを決定します。たとえば、データ ソースが 3 つの DataTable オブジェクトを格納する DataSet の場合、MappingName は、それらのオブジェクトのいずれかの TableName と一致する必要があります。MappingName がいずれの TableName 値とも一致しない場合は、既定の設定値を使用して各テーブルのデータが表示され、DataGridTableStyle の設定値は無視されます。
![]() |
---|
必ず DataGridColumnStyle オブジェクトを作成して GridColumnStylesCollection に追加してから、DataGridTableStyle オブジェクトを GridTableStylesCollection に追加します。有効な MappingName 値を持つ空の DataGridTableStyle をコレクションに追加すると、自動的に DataGridColumnStyle オブジェクトが生成されます。そのため、MappingName 値が重複する新しい DataGridColumnStyle オブジェクトを GridColumnStylesCollection に追加しようとすると、例外がスローされます。または、Clear メソッドを使用して、GridColumnStylesCollection を空にします。 |

2 つの DataGridTableStyle オブジェクトを作成し、各オブジェクトを DataGrid コントロールの TableStyles プロパティから返された GridTableStylesCollection に追加するコード例を次に示します。
Private Sub AddCustomDataTableStyle() Dim ts1 As New DataGridTableStyle() ts1.MappingName = "Customers" ' Set other properties. ts1.AlternatingBackColor = Color.LightGray ' 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" ' Set other properties. ts2.AlternatingBackColor = Color.LightBlue ' Create new ColumnStyle objects. Dim cOrderDate As New DataGridTextBoxColumn() cOrderDate.MappingName = "OrderDate" cOrderDate.HeaderText = "Order Date" cOrderDate.Width = 100 ts2.GridColumnStyles.Add(cOrderDate) ' Use a PropertyDescriptor to create a formatted ' column. First get the PropertyDescriptorCollection ' for the data source and data member. Dim pcol As System.ComponentModel.PropertyDescriptorCollection = _ Me.BindingContext(myDataSet, "Customers.custToOrders"). _ GetItemProperties() ' Create a formatted column using a PropertyDescriptor. ' The formatting character "c" specifies a currency format. */ 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 instances to ' the GridTableStylesCollection. myDataGrid.TableStyles.Add(ts1) myDataGrid.TableStyles.Add(ts2) End Sub 'AddCustomDataTableStyle
private void AddCustomDataTableStyle(){ DataGridTableStyle ts1 = new DataGridTableStyle(); ts1.MappingName = "Customers"; // Set other properties. ts1.AlternatingBackColor = Color.LightGray; /* 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"; // Set other properties. ts2.AlternatingBackColor = Color.LightBlue; // Create new ColumnStyle objects. DataGridColumnStyle cOrderDate = new DataGridTextBoxColumn(); cOrderDate.MappingName = "OrderDate"; cOrderDate.HeaderText = "Order Date"; cOrderDate.Width = 100; ts2.GridColumnStyles.Add(cOrderDate); /*Use a PropertyDescriptor to create a formatted column. First get the PropertyDescriptorCollection for the data source and data member. */ System.ComponentModel.PropertyDescriptorCollection pcol = this.BindingContext[myDataSet, "Customers.custToOrders"] .GetItemProperties(); /* Create a formatted column using a PropertyDescriptor. The formatting character "c" specifies a currency format. */ DataGridColumnStyle csOrderAmount = new DataGridTextBoxColumn(pcol["OrderAmount"], "c", true); csOrderAmount.MappingName = "OrderAmount"; csOrderAmount.HeaderText = "Total"; csOrderAmount.Width = 100; ts2.GridColumnStyles.Add(csOrderAmount); /* Add the DataGridTableStyle instances to the GridTableStylesCollection. */ myDataGrid.TableStyles.Add(ts1); myDataGrid.TableStyles.Add(ts2); }
void AddCustomDataTableStyle() { DataGridTableStyle^ ts1 = gcnew DataGridTableStyle; ts1->MappingName = "Customers"; // Set other properties. ts1->AlternatingBackColor = Color::LightGray; /* 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"; // Set other properties. ts2->AlternatingBackColor = Color::LightBlue; // Create new ColumnStyle objects. DataGridColumnStyle^ cOrderDate = gcnew DataGridTextBoxColumn; cOrderDate->MappingName = "OrderDate"; cOrderDate->HeaderText = "Order Date"; cOrderDate->Width = 100; ts2->GridColumnStyles->Add( cOrderDate ); /*Use a PropertyDescriptor to create a formatted column. First get the PropertyDescriptorCollection for the data source and data member. */ System::ComponentModel::PropertyDescriptorCollection^ pcol = this-> BindingContext[myDataSet, "Customers::custToOrders"]-> GetItemProperties(); /* Create a formatted column using a PropertyDescriptor. The formatting character S"c" specifies a currency format. */ DataGridColumnStyle^ csOrderAmount = gcnew DataGridTextBoxColumn( pcol[ "OrderAmount" ],"c",true ); csOrderAmount->MappingName = "OrderAmount"; csOrderAmount->HeaderText = "Total"; csOrderAmount->Width = 100; ts2->GridColumnStyles->Add( csOrderAmount ); /* Add the DataGridTableStyle instances to the GridTableStylesCollection. */ myDataGrid->TableStyles->Add( ts1 ); myDataGrid->TableStyles->Add( ts2 ); }
private void AddCustomDataTableStyle() { DataGridTableStyle ts1 = new DataGridTableStyle(); ts1.set_MappingName("Customers"); // Set other properties. ts1.set_AlternatingBackColor(Color.get_LightGray()); /* 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.set_MappingName("Current"); boolCol.set_HeaderText("IsCurrent Customer"); boolCol.set_Width(150); ts1.get_GridColumnStyles().Add(boolCol); // Add a second column style. DataGridColumnStyle TextCol = new DataGridTextBoxColumn(); TextCol.set_MappingName("custName"); TextCol.set_HeaderText("Customer Name"); TextCol.set_Width(250); ts1.get_GridColumnStyles().Add(TextCol); // Create the second table style with columns. DataGridTableStyle ts2 = new DataGridTableStyle(); ts2.set_MappingName("Orders"); // Set other properties. ts2.set_AlternatingBackColor(Color.get_LightBlue()); // Create new ColumnStyle objects. DataGridColumnStyle cOrderDate = new DataGridTextBoxColumn(); cOrderDate.set_MappingName("OrderDate"); cOrderDate.set_HeaderText("Order Date"); cOrderDate.set_Width(100); ts2.get_GridColumnStyles().Add(cOrderDate); /* Use a PropertyDescriptor to create a formatted column. First get the the PropertyDescriptorCollection for the data source and data member. */ PropertyDescriptorCollection pcol = this.get_BindingContext(). get_Item(myDataSet, "Customers.custToOrders").GetItemProperties(); /* Create a formatted column using a PropertyDescriptor. The formatting character "c" specifies a currency format. */ DataGridColumnStyle csOrderAmount = new DataGridTextBoxColumn(pcol. get_Item("OrderAmount"), "c", true); csOrderAmount.set_MappingName("OrderAmount"); csOrderAmount.set_HeaderText("Total"); csOrderAmount.set_Width(100); ts2.get_GridColumnStyles().Add(csOrderAmount); /* Add the DataGridTableStyle instances to the GridTableStylesCollection. */ myDataGrid.get_TableStyles().Add(ts1); myDataGrid.get_TableStyles().Add(ts2); } //AddCustomDataTableStyle

System.MarshalByRefObject
System.Windows.Forms.BaseCollection
System.Windows.Forms.GridTableStylesCollection


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- GridTableStylesCollection クラスのページへのリンク