PhilFlash

DataGrid Column Header

Flash MX 2004 et Flash 8

Cet exemple montre l'ajout de nouvelles propriétés pour modifier le style du header du composant DataGrid.

Ces propriétés de style permettent de définir un header :

Voici un exemple avec l'utilisation des nouvelles propriétés.

Obtenir les sources dgheader.zip (303 Ko)

Explication

Une "bonne" pratique serait de définir une sous-classe en redéfinissant les méthodes et d'intégrer cette sous-classe dans l'environnement de développement. Ceci est compliqué voir impossible.

On effectue, donc, les modifications par des patchs sur des méthodes du composant DataGrid. Le code est fourni mais vous trouverez des explications supplémentaires sur cette méthode dans le blob d'ericd.net.

La modification des méthodes s'effectue de la façon suivante (ici pour la méthode drawHeaderBG). N'oubliez pas de préfixer les variables/attributs par this.

mx.controls.DataGrid["prototype"]["drawHeaderBG"] = function () {
    // votre code
};

Le patch consiste à utiliser les méthodes standards du composant DataGrid (dans les cas standards) et à prendre en compte l'utilisation des nouvelles propriétés de style. Les patchs sont regroupés dans le fichier dgHeaderPatch.as.

Voici une mini-doc des nouvelles propriétés :

Style Description
headerUIStyle The style of the column header : either "normal", "solid", or "roundcorner". The default value is "normal". If the value is "roundcorner", the borderStyle of the datagrid must be "none" [datagrid.setStyle("borderStyle" , "none");]
headerSelectionColor The color of header when the mouse pointer rolls over it.
headerBottomColor The color of the separator between the header and the rows.
headerBackgroundColor The background color of the header when the headerUIStyle is "roundcorner". The default color is white

Extension

Vous pouvez étendre facilement le code si vous voulez d'autres méthodes de dessin du header (par exemple, avec des gradients de couleur horizontaux).

Vous pouvez aussi consulter l'exemple 'Modifier le style d'un DataGrid' qui montre d'autres propriétés de style d'un DataGrid.

xhtml   css   cc   508   aaa
Me connaître  |  Me contacter