Выровнять текст по вертикали в строке Spark DataGrid - PullRequest
0 голосов
/ 21 февраля 2012

Можно подумать, что такие вещи легки - и, возможно, так оно и есть.

Я бы хотел, чтобы высота строк моей DataGrid была немного больше, чем по умолчанию. Проблема в том, что текст вертикально выровнен по верху строки. Я хотел бы выровнять его по вертикали к середине ряда.

Есть ли способ сделать это с помощью CSS или Skinning во Flex 4.6? Обратите внимание, что я использую Spark DataGrid, а не версию MX.

Спасибо

-Vic

Ответы [ 2 ]

1 голос
/ 23 мая 2012

В моем случае я также создал настраиваемое средство визуализации элементов сетки, но вместо 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.

1 голос
/ 06 марта 2012

Вам необходимо создать пользовательский рендерер элементов сетки:

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". Вот и все:)

...