DataGridTableStyle Classe

Définition

Représente la table dessinée par le contrôle DataGrid au moment de l'exécution.

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
Héritage
DataGridTableStyle
Implémente

Exemples

L’exemple de code suivant crée deux DataGridTableStyle instances et définit le MappingName de chaque objet sur le TableName d’un DataTable dans un DataSet. L’exemple ajoute DataGridColumnStyle ensuite des GridColumnStylesCollection objets au de chaque DataGridTableStyle. Pour obtenir un exemple qui s’exécute, consultez l’exemple 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

Remarques

Le System.Windows.Forms.DataGrid contrôle affiche les données sous la forme d’une grille. est DataGridTableStyle une classe qui représente uniquement la grille dessinée. Cette grille ne doit pas être confondue avec la DataTable classe , qui est une source possible de données pour la grille. Au lieu de cela, le DataGridTableStyle représente strictement la grille telle qu’elle est peinte dans le contrôle. Par conséquent, par le biais du DataGridTableStyle , vous pouvez contrôler l’apparence de la grille pour chaque DataTable. Pour spécifier lequel DataGridTableStyle est utilisé lors de l’affichage des données d’un particulier DataTable, définissez sur MappingName le TableName d’un DataTable.

Récupéré GridTableStylesCollection via la TableStyles propriété contient tous les DataGridTableStyle objets utilisés par un System.Windows.Forms.DataGrid contrôle. La collection peut contenir autant d’objets DataGridTableStyle que nécessaire, mais le MappingName de chacun doit être unique. Au moment de l’exécution, cela vous permet de remplacer une autre DataGridTableStyle par les mêmes données, en fonction de la préférence de l’utilisateur. Pour ce faire :

  1. Remplissez le avec DataGridTableStyle des GridTableStylesCollection objets . S’il existe un DataGridTableStyle dans le dont MappingName la GridTableStylesCollection valeur de propriété est égale à la DataTable propriété de TableName l’objet, le DataTable est affiché avec ce DataGridTableStyle. S’il n’en existe aucun DataGridTableStyle avec une correspondance MappingName, est DataTable affiché avec le style par défaut pour les tables de grille de données.

  2. Lorsqu’un autre style de grille est nécessaire, utilisez la Item propriété pour sélectionner le approprié DataGridTableStyle (passez le TableName à la Item[] propriété) et définissez le MappingName de l’objet retourné sur une nouvelle valeur.

  3. Utilisez la Item[] propriété pour sélectionner le souhaité DataGridTableStyleet définissez-le MappingName sur le TableName du DataTable.

Attention

Créez DataGridColumnStyle toujours des objets et ajoutez-les à avant GridColumnStylesCollection d’ajouter DataGridTableStyle des GridTableStylesCollectionobjets au . Lorsque vous ajoutez un vide DataGridTableStyle avec une valeur valide MappingName à la collection, DataGridColumnStyle les objets sont générés automatiquement pour vous. Par conséquent, une exception est levée si vous essayez d’ajouter de nouveaux DataGridColumnStyle objets avec des valeurs dupliquées MappingName à .GridColumnStylesCollection

Pour déterminer lequel DataGridTableStyle est actuellement affiché, utilisez les DataSource propriétés et DataMember de pour System.Windows.Forms.DataGrid renvoyer un CurrencyManager. Si la source de données implémente l’interface ITypedList , vous pouvez utiliser la GetListName méthode pour retourner le MappingName de la table active. Cela est illustré dans le code C# ci-dessous :

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));  
}  

Si contient DataTable des DataSet objets liés par le biais DataRelation d’objets et que le actuellement affiché DataTable est une table enfant, retourne DataMember une chaîne sous la forme TableName.RelationName (dans le cas le plus simple). Si est DataTable plus bas dans la hiérarchie, la chaîne se compose du nom de la table parente suivi des valeurs nécessaires RelationName pour atteindre le niveau de la table. Par exemple, imaginez trois DataTable objets dans une relation hiérarchique nommée (de haut en bas) Regions, Customerset , et Ordersdeux DataRelation objets nommés RegionsToCustomers et CustomersToOrders, la DataMember propriété retourne « Regions.RegionsToCustomers.CustomersToOrders ». Toutefois, le MappingName sera alors « Orders ».

La collection d’objets DataGridTableStyle est retournée par le biais de la TableStyles propriété du System.Windows.Forms.DataGrid.

Lorsqu’un DataGridTableStyle est affiché, les paramètres de l’objet DataGridTableStyle remplacent les paramètres du System.Windows.Forms.DataGrid contrôle. Si aucune valeur n’est définie pour une propriété particulière DataGridTableStyle , la valeur du contrôle est utilisée à la System.Windows.Forms.DataGrid place. La liste suivante présente les DataGridColumnStyle propriétés qui peuvent être définies pour remplacer System.Windows.Forms.DataGrid les propriétés de contrôle :

Pour lier à DataGrid un tableau d’objets fortement typé, le type d’objet doit contenir des propriétés publiques. Pour créer un DataGridTableStyle qui affiche le tableau, définissez la DataGridTableStyle.MappingName propriété sur typenametypename est remplacé par le nom du type d’objet. Notez également que la propriété respecte la MappingName casse ; le nom de type doit être mis en correspondance exactement. Consultez la MappingName propriété pour obtenir un exemple.

Vous pouvez également lier à DataGrid un ArrayList. Une fonctionnalité de est ArrayList qu’il peut contenir des objets de plusieurs types, mais ne DataGrid peut se lier à une telle liste que lorsque tous les éléments de la liste sont du même type que le premier élément. Cela signifie que tous les objets doivent être du même type ou hériter de la même classe que le premier élément de la liste. Par exemple, si le premier élément d’une liste est un Control, le deuxième élément peut être un TextBox (qui hérite de Control). Si, en revanche, le premier élément est un TextBox, le deuxième objet ne peut pas être un Control. En outre, le ArrayList doit contenir des éléments lorsqu’il est lié et les objets dans doivent DataGridTableStyle contenir des propriétés publiques. Un vide ArrayList génère une grille vide. Lors de la liaison à un ArrayList, définissez le MappingName de sur DataGridTableStyle « ArrayList » (le nom du type).

Constructeurs

DataGridTableStyle()

Initialise une nouvelle instance de la classe DataGridTableStyle.

DataGridTableStyle(Boolean)

Initialise une nouvelle instance de la classe DataGridTableStyle à l'aide de la valeur spécifiée pour déterminer si la grille est le style par défaut.

DataGridTableStyle(CurrencyManager)

Initialise une nouvelle instance de la classe DataGridTableStyle avec le CurrencyManager spécifié.

Champs

DefaultTableStyle

Obtient le style de table par défaut.

Propriétés

AllowSorting

Indique si le tri est autorisé sur la table de la grille quand ce DataGridTableStyle est utilisé.

AlternatingBackColor

Obtient ou définit la couleur d'arrière-plan des lignes portant un numéro impair dans la grille.

BackColor

Obtient ou définit la couleur d'arrière-plan des lignes portant un numéro pair dans la grille.

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
ColumnHeadersVisible

Obtient ou définit une valeur indiquant si les en-têtes de colonne sont visibles.

Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
DataGrid

Obtient ou définit le contrôle DataGrid pour la table dessinée.

DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
ForeColor

Obtient ou définit la couleur de premier plan de la table de grille.

GridColumnStyles

Obtient la collection de colonnes dessinées pour cette table.

GridLineColor

Obtient ou définit la couleur du quadrillage.

GridLineStyle

Obtient ou définit le style du quadrillage.

HeaderBackColor

Obtient ou définit la couleur d'arrière-plan des en-têtes.

HeaderFont

Obtient ou définit la police utilisée pour les légendes d'en-tête.

HeaderForeColor

Obtient ou définit la couleur de premier plan des en-têtes.

LinkColor

Obtient ou définit la couleur du texte de lien.

LinkHoverColor

Obtient ou définit la couleur affichée lorsque le pointeur est placé sur un texte de lien.

MappingName

Obtient ou définit le nom utilisé pour mapper la table avec une source de données spécifique.

PreferredColumnWidth

Obtient ou définit la largeur utilisée pour créer des colonnes quand une nouvelle grille est affichée.

PreferredRowHeight

Obtient ou définit la hauteur utilisée pour créer une ligne quand une nouvelle grille est affichée.

ReadOnly

Obtient ou définit une valeur indiquant si les colonnes peuvent être modifiées.

RowHeadersVisible

Obtient ou définit une valeur indiquant si les en-têtes de ligne sont visibles.

RowHeaderWidth

Obtient ou définit la largeur des en-têtes de ligne.

SelectionBackColor

Obtient ou définit la couleur d'arrière-plan des cellules sélectionnées.

SelectionForeColor

Obtient ou définit la couleur de premier plan des cellules sélectionnées.

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)

Méthodes

BeginEdit(DataGridColumnStyle, Int32)

Demande une opération de modification.

CreateGridColumn(PropertyDescriptor)

Crée un DataGridColumnStyle en utilisant le descripteur de propriété spécifié.

CreateGridColumn(PropertyDescriptor, Boolean)

Crée un DataGridColumnStyle en utilisant le descripteur de propriété spécifié. Spécifie si le DataGridColumnStyle est un style de colonne par défaut.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources (autres que la mémoire) utilisées par DataGridTableStyle.

EndEdit(DataGridColumnStyle, Int32, Boolean)

Demande la fin d'une opération de modification.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
OnAllowSortingChanged(EventArgs)

Déclenche l’événement AllowSortingChanged.

OnAlternatingBackColorChanged(EventArgs)

Déclenche l’événement AlternatingBackColorChanged.

OnBackColorChanged(EventArgs)

Déclenche l’événement BackColorChanged.

OnColumnHeadersVisibleChanged(EventArgs)

Déclenche l’événement ColumnHeadersVisibleChanged.

OnForeColorChanged(EventArgs)

Déclenche l’événement ForeColorChanged.

OnGridLineColorChanged(EventArgs)

Déclenche l’événement GridLineColorChanged.

OnGridLineStyleChanged(EventArgs)

Déclenche l’événement GridLineStyleChanged.

OnHeaderBackColorChanged(EventArgs)

Déclenche l’événement HeaderBackColorChanged.

OnHeaderFontChanged(EventArgs)

Déclenche l’événement HeaderFontChanged.

OnHeaderForeColorChanged(EventArgs)

Déclenche l’événement HeaderForeColorChanged.

OnLinkColorChanged(EventArgs)

Déclenche l’événement LinkColorChanged.

OnLinkHoverColorChanged(EventArgs)

Déclenche l’événement LinkHoverColorChanged.

OnMappingNameChanged(EventArgs)

Déclenche l’événement MappingNameChanged.

OnPreferredColumnWidthChanged(EventArgs)

Déclenche l’événement PreferredColumnWidthChanged.

OnPreferredRowHeightChanged(EventArgs)

Déclenche l’événement PreferredRowHeightChanged.

OnReadOnlyChanged(EventArgs)

Déclenche l’événement ReadOnlyChanged.

OnRowHeadersVisibleChanged(EventArgs)

Déclenche l’événement RowHeadersVisibleChanged.

OnRowHeaderWidthChanged(EventArgs)

Déclenche l’événement RowHeaderWidthChanged.

OnSelectionBackColorChanged(EventArgs)

Déclenche l’événement SelectionBackColorChanged.

OnSelectionForeColorChanged(EventArgs)

Déclenche l’événement SelectionForeColorChanged.

ResetAlternatingBackColor()

Rétablit la valeur par défaut de la propriété AlternatingBackColor.

ResetBackColor()

Rétablit la valeur par défaut de la propriété BackColor.

ResetForeColor()

Rétablit la valeur par défaut de la propriété ForeColor.

ResetGridLineColor()

Rétablit la valeur par défaut de la propriété GridLineColor.

ResetHeaderBackColor()

Rétablit la valeur par défaut de la propriété HeaderBackColor.

ResetHeaderFont()

Rétablit la valeur par défaut de la propriété HeaderFont.

ResetHeaderForeColor()

Rétablit la valeur par défaut de la propriété HeaderForeColor.

ResetLinkColor()

Rétablit la valeur par défaut de la propriété LinkColor.

ResetLinkHoverColor()

Rétablit la valeur par défaut de la propriété LinkHoverColor.

ResetSelectionBackColor()

Rétablit la valeur par défaut de la propriété SelectionBackColor.

ResetSelectionForeColor()

Rétablit la valeur par défaut de la propriété SelectionForeColor.

ShouldSerializeAlternatingBackColor()

Indique si la propriété AlternatingBackColor doit être rendue persistante.

ShouldSerializeBackColor()

Indique si la propriété BackColor doit être rendue persistante.

ShouldSerializeForeColor()

Indique si la propriété ForeColor doit être rendue persistante.

ShouldSerializeGridLineColor()

Indique si la propriété GridLineColor doit être rendue persistante.

ShouldSerializeHeaderBackColor()

Indique si la propriété HeaderBackColor doit être rendue persistante.

ShouldSerializeHeaderForeColor()

Indique si la propriété HeaderForeColor doit être rendue persistante.

ShouldSerializeLinkColor()

Indique si la propriété LinkColor doit être rendue persistante.

ShouldSerializeLinkHoverColor()

Indique si la propriété LinkHoverColor doit être rendue persistante.

ShouldSerializePreferredRowHeight()

Indique si la propriété PreferredRowHeight doit être rendue persistante.

ShouldSerializeSelectionBackColor()

Indique si la propriété SelectionBackColor doit être rendue persistante.

ShouldSerializeSelectionForeColor()

Indique si la propriété SelectionForeColor doit être rendue persistante.

ToString()

Retourne un String contenant le nom du Component, s’il en existe un. Cette méthode ne doit pas être remplacée.

(Hérité de Component)

Événements

AllowSortingChanged

Se produit quand la valeur de la propriété AllowSorting change.

AlternatingBackColorChanged

Se produit quand la valeur AlternatingBackColor est modifiée.

BackColorChanged

Se produit quand la valeur BackColor est modifiée.

ColumnHeadersVisibleChanged

Se produit quand la valeur ColumnHeadersVisible est modifiée.

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)
ForeColorChanged

Se produit quand la valeur ForeColor est modifiée.

GridLineColorChanged

Se produit quand la valeur GridLineColor est modifiée.

GridLineStyleChanged

Se produit quand la valeur GridLineStyle est modifiée.

HeaderBackColorChanged

Se produit quand la valeur HeaderBackColor est modifiée.

HeaderFontChanged

Se produit quand la valeur HeaderFont est modifiée.

HeaderForeColorChanged

Se produit quand la valeur HeaderForeColor est modifiée.

LinkColorChanged

Se produit quand la valeur LinkColor est modifiée.

LinkHoverColorChanged

Se produit quand la valeur LinkHoverColor est modifiée.

MappingNameChanged

Se produit quand la valeur MappingName est modifiée.

PreferredColumnWidthChanged

Se produit quand la valeur de la propriété PreferredColumnWidth change.

PreferredRowHeightChanged

Se produit quand la valeur PreferredRowHeight est modifiée.

ReadOnlyChanged

Se produit quand la valeur ReadOnly est modifiée.

RowHeadersVisibleChanged

Se produit quand la valeur RowHeadersVisible est modifiée.

RowHeaderWidthChanged

Se produit quand la valeur RowHeaderWidth est modifiée.

SelectionBackColorChanged

Se produit quand la valeur SelectionBackColor est modifiée.

SelectionForeColorChanged

Se produit quand la valeur SelectionForeColor est modifiée.

S’applique à

Voir aussi