2012-02-21 3 views
0

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

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

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

Спасибо,

-Vic

ответ

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

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

Смежные вопросы