2010-07-14 3 views
1

J'ai 16 colonnes dans une grille de données dans mon application Flex. Les 15 premiers ont l'air bien, avec la colonne, contenant simplement le texte, mais le dernier a beaucoup d'espace supplémentaire. Essentiellement, les colonnes sont juste assez grandes pour s'adapter aux 15 premiers et tout cet espace supplémentaire est collé sur la 16e colonne.Comment puis-je répartir uniformément les colonnes dans un DataGrid dans Flex?

Comment puis-je répartir l'espace sur chaque colonne?

<mx:DataGrid x="127" y="9" id="view" 
       dataProvider = "{currentBuffer}" width="497" height="480"> 
     <mx:columns> 
      <mx:DataGridColumn headerText="0" dataField="col0" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="1" dataField="col1" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="2" dataField="col2" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="3" dataField="col3" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="4" dataField="col4" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="5" dataField="col5" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="6" dataField="col6" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="7" dataField="col7" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="8" dataField="col8" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="9" dataField="col9" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="A" dataField="colA" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="B" dataField="colB" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="C" dataField="colC" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="D" dataField="colD" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="E" dataField="colE" draggable="false" sortable="false" resizable="false"/> 
      <mx:DataGridColumn headerText="F" dataField="colF" draggable="false" sortable="false" resizable="false"/> 
     </mx:columns> 
    </mx:DataGrid> 
+0

J'ai le même problème. Avez-vous déjà résolu ça? –

Répondre

1

Avez-vous essayé régler manuellement la width sur les colonnes en utilisant la propriété width?

Vous pouvez facilement utiliser updateDisplayList pour calculer la taille de chaque colonne, soit en créant votre propre composant d'emballage ou en étendant le DataGrid.

0

définir la largeur de chaque colonne pour 6.25% - de donner 6% à la première 15 et de 10% pour le dernier.

+0

Etes-vous sûr que cela fonctionnera? Le DataGridColumn ne dispose pas d'une propriété percentageWidth, et je pensais que la mise en largeur à un pourcentage en MXML juste fait un peu de magie en arrière-plan w/percentageWidth. – JeffryHouser

+0

@www La classe de colonne n'a pas de pourcentageWidth, mais iirc, j'ai donné des valeurs de pourcentage aux largeurs de colonnes dans le passé et cela a fonctionné. – Amarghosh

Questions connexes