Freigeben über


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