Flex - 垂直对齐数据网格中的单元格

时间:2009-09-10 20:15:59

标签: flex datagrid vertical-alignment

我无法在Flex中的DataGrid中垂直对齐单元格内的文本。我在列上的itemRenderer中尝试了this.setStyle(“vertical-align”,“middle”),但它似乎不起作用......我也试过了verticalAlign。

5 个答案:

答案 0 :(得分:2)

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> 

答案 1 :(得分:1)

mx:Text和TextField控件不直接支持verticalAlign样式。

最简单的方法是对齐其容器的内容,例如container.setStyle("verticalAlign", "bottom")左右。

如果容器使用绝对布局,您可以设置 top bottom left right 之一样式到0,以便相应地对齐。

答案 2 :(得分:1)

使用DataGrid verticalAlign属性(设置为“middle”)

verticalAlign:行中渲染器的垂直对齐

http://www.adobe.com/livedocs/flex/2/langref/mx/controls/DataGrid.html#styleSummary

答案 3 :(得分:0)

在DataGridColumn上尝试textAlign。

答案 4 :(得分:-1)

看起来flex本身并不支持它,但我找到了一个黑客来完成这项工作。

让单元格继承一个Box并在框内放置一个标签。然后你可以在Box上设置verticalAlign =“middle”。