Flex - Vertical Align Cells en un Datagrid
-
05-07-2019 - |
Pregunta
Tengo problemas para alinear verticalmente el texto dentro de las celdas en un DataGrid en Flex. Intenté this.setStyle (" vertical-align " ;, " middle) en un itemRenderer en la columna pero no parece funcionar ... También intenté verticalAlign.
Solución 5
Parece que flex no lo admite de forma nativa, pero encontré un truco para hacer el trabajo.
Haga que las celdas hereden una caja y coloque una etiqueta dentro de la caja. Luego, puedes establecer verticalAlign = " middle " en la caja.
Otros consejos
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>
Los controles mx: Text y TextField no admiten directamente un estilo de alineación vertical.
Lo más fácil sería alinear el contenido de su contenedor, por ejemplo. container.setStyle (" verticalAlign " ;, " bottom ")
o algo así.
Si el contenedor utiliza un diseño absoluto, puede configurar uno de top , bottom , left , right estilos a 0
, para alinear en consecuencia.
Use la propiedad DataGrid verticalAlign (establecida en " middle ")
verticalAlign: la alineación vertical de un renderizador en una fila
Pruebe textAlign en DataGridColumn.