2011-09-02 5 views
3

Comment supprimer la ligne d'en-tête d'un DataGrid Spark? MX DataGrid avait l'attribut "showHeaders" mais cela ne semble pas être présent dans le Spark DataGrid.Suppression de l'en-tête d'un DataGrid Spark

Cela semble que ce devrait être une tâche très facile, donc soit je suis extrêmement dense ou il manque juste quelque chose? Dois-je créer un habillage personnalisé pour mon DataGrid et supprimer les parties d'en-tête? Cela semble être exagéré ou est-ce la façon Flex/Spark?

Merci, Phil

Répondre

3

Vous devez créer un habillage personnalisé pour DataGrid. Vous devez juste copie standard spark.skins.spark.DataGridSkin et retirez là les lignes suivantes:

<!--- @private --> 
    <s:GridColumnHeaderGroup id="columnHeaderGroup" 
     paddingLeft="1" paddingTop="1" paddingRight="1" minHeight="21" 
     columnSeparator="{headerColumnSeparator}" 
     headerRenderer="{headerRenderer}"/> 
+0

Eh bien cela fonctionne et FlashBuilder a rendu le processus de copie de la peau agréable et facile. L'utilisation de l'habillage pour modifier l'aspect d'un composant Spark est-elle la même que celle d'Adobe pour laquelle les composants Spark doivent être manipulés plutôt que d'avoir des fonctionnalités pour le faire? Je suppose que ce que je dis est pourquoi retirer cette fonctionnalité de Spark DataGrid quand MX DataGrid l'avait? – Phil

+0

MX DataGrig dispose de capacités de personnalisation limitées et d'une manière très compliquée pour une personnalisation avancée. En plus de cette façon de personnalisation MX ne peut pas être utilisé dans des outils tels que Flash Catalyst. Et enfin, du point de vue architectural, les anciens composants MX étaient une sorte de mélange de MVC dans la même bouteille. Une nouvelle architecture sépare la représentation de la logique, ce qui ajoute plus de flexibilité dans le processus de création de composants personnalisés. Les habillages Spark peuvent être créés dans Flash Catalyst. Les peaux sont lisibles et prennent en charge les états d'affichage déclaratifs. Et ils sont extrêmement personnalisables. – Constantiner

+0

Merci pour l'info et la réponse. – Phil

2

Une façon paresseuse est de définir la hauteur d'en-tête de la peau à 0:

<s:DataGrid id="dg" 
    initialize="dg.columnHeaderGroup.height = 0" 

ou définir les propriétés visibles/includeInLayout:

<s:DataGrid id="dg" 
    initialize="dg.columnHeaderGroup.visible = 
       dg.columnHeaderGroup.includeInLayout = false" 
+0

rapide et facile, merci –

Questions connexes