在Spark DataGrid行中垂直对齐文本

时间:2012-02-21 15:05:09

标签: actionscript flex4 mxml flex-spark

有人会认为这些事情很容易 - 也许就是这样。

我想让我的DataGrid行的高度比默认值大一些。问题是文本垂直对齐到行的顶部。我想将它垂直对齐到行的中间。

有没有办法在Flex 4.6中通过CSS或Skinning这样做?请注意,我使用的是Spark DataGrid,而不是MX版本。

谢谢,

-Vic

2 个答案:

答案 0 :(得分:1)

您需要创建自定义网格项呈示器:

<强> CustomGridItemRenderer.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">

<s:Label id="rendererLabel"
    verticalCenter="0"
    text="{data[column.dataField]}"/>

</s:GridItemRenderer>

并将其分配给datagrid的属性“itemRenderer”。就是这样:))

答案 1 :(得分:1)

在我的情况下,我还创建了一个自定义网格项呈示器,而是一个GridItemRenderer,我使用了DefaultGridItemRenderer:

<?xml version="1.0" encoding="utf-8"?>
<s:DefaultGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                    xmlns:s="library://ns.adobe.com/flex/spark" 
                    xmlns:mx="library://ns.adobe.com/flex/mx" textAlign="right">

</s:DefaultGridItemRenderer>

这里的诀窍是使用textAlign。