GridTableStylesCollection-Klasse
Stellt eine Auflistung von DataGridTableStyle-Objekten im DataGrid-Steuerelement dar.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Class GridTableStylesCollection
Inherits BaseCollection
Implements IList, ICollection, IEnumerable
'Usage
Dim instance As GridTableStylesCollection
public class GridTableStylesCollection : BaseCollection, IList, ICollection, IEnumerable
public ref class GridTableStylesCollection : public BaseCollection, IList, ICollection, IEnumerable
public class GridTableStylesCollection extends BaseCollection implements IList, ICollection,
IEnumerable
public class GridTableStylesCollection extends BaseCollection implements IList, ICollection,
IEnumerable
Hinweise
Die GridTableStylesCollection enthält DataGridTableStyle-Objekte, die es dem DataGrid-Steuerelement ermöglichen, ein benutzerdefiniertes Datenblattformat für jede DataTable in einem DataSet anzuzeigen.
Im DataGrid-Steuerelement gibt die TableStyles-Eigenschaft die GridTableStylesCollection zurück.
Die GridTableStylesCollection enthält in der Standardeinstellung keine DataGridTableStyle-Objekte. Stattdessen zeigt das DataGrid alle Tabellen mit den Standardeinstellungen für die Farbe, Breite und Formatierung an. Es werden sämtliche Spalten jeder Tabelle angezeigt. Wenn der Auflistung ein DataGridTableStyle hinzugefügt wird, bestimmt das DataGrid mithilfe des MappingName, welches Objekt die Daten für das Datenblatt liefert. Wenn die Datenquelle z. B. ein DataSet mit drei DataTable-Objekten ist, muss der MappingName mit einem TableName von einem der Objekte übereinstimmen. Wenn der MappingName mit keinem der TableName-Werte übereinstimmt, werden die Daten aller Tabellen mit den Standardeinstellungen anzeigt und die DataGridTableStyle-Einstellungen ignoriert.
Warnung
Erstellen Sie vor dem Hinzufügen von DataGridTableStyle-Objekten zur GridTableStylesCollection immer DataGridColumnStyle-Objekte, und fügen Sie diese der GridColumnStylesCollection hinzu. Wenn Sie der Auflistung einen leeren DataGridTableStyle mit einem gültigen MappingName-Wert hinzufügen, werden automatisch DataGridColumnStyle-Objekte generiert. Folglich wird beim Versuch, der GridColumnStylesCollection neue DataGridColumnStyle-Objekte mit doppelten MappingName-Werten hinzuzufügen, eine Ausnahme ausgelöst. Sie können die GridColumnStylesCollection auch mithilfe der Clear-Methode löschen.
Beispiel
Im folgenden Codebeispiel werden zwei DataGridTableStyle-Objekte erstellt und jeweils der GridTableStylesCollection hinzugefügt, die von der TableStyles-Eigenschaft eines DataGrid-Steuerelements zurückgegeben wird.
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
Vererbungshierarchie
System.Object
System.MarshalByRefObject
System.Windows.Forms.BaseCollection
System.Windows.Forms.GridTableStylesCollection
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
GridTableStylesCollection-Member
System.Windows.Forms-Namespace
DataGrid-Klasse
DataGridTableStyle.GridColumnStyles-Eigenschaft