Flex: allinea le celle verticali in un Datagrid
-
05-07-2019 - |
Domanda
Sto riscontrando problemi nell'allineamento verticale del testo all'interno delle celle in un DataGrid in Flex. Ho provato this.setStyle (" vertical-align " ;, " middle) in un itemRenderer sulla colonna ma non sembra funzionare ... Ho provato anche verticalAlign.
Soluzione 5
Sembra che flex non lo supporti in modo nativo, ma ho trovato un trucco per fare il lavoro.
Rendi le celle ereditate da una Scatola e metti un'etichetta all'interno della Scatola. Quindi puoi impostare verticalAlign = " middle " sulla scatola.
Altri suggerimenti
try use <s:HorizontalLayout verticalAlign="middle">:
<s:GridColumn headerText="Action" >
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<s:layout>
<s:HorizontalLayout verticalAlign="middle" paddingLeft="5"/>
</s:layout>
<s:Button label="View" click="outerDocument.view(event)" />
<s:Button label="Unlink" click="outerDocument.unlink(event)" />
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
I controlli mx: Text e TextField non supportano direttamente uno stile verticalAlign.
Il più semplice sarebbe allineare il contenuto del loro contenitore, ad es. container.setStyle (" verticalAlign " ;, " bottom ")
o giù di lì.
Se il contenitore utilizza un layout assoluto, è possibile impostare uno tra in alto , in basso , a sinistra , a destra stili su 0
, per allinearli di conseguenza.
Utilizza la proprietà DataGrid verticalAlign (impostata su " middle ")
verticalAlign: l'allineamento verticale di un renderer di fila
Prova textAlign su DataGridColumn.