Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Rotate HeaderText in DataGrid (http://www.flasher.ru/forum/showthread.php?t=179022)

andrew2312 04.05.2012 15:39

Rotate HeaderText in DataGrid
 
Здравствуйте!
Есть DataGrid. В заголовках столбцов длинные надписи.
1)Кто-нибудь работал со свойством rotation?
Такой вопрос когда-то обсуждался http://tech.groups.yahoo.com/group/f.../message/62230
Но вот у меня не работает.
2)Или кто-нибудь может подсказать, можно ли headerText писать в несколько строк. headerHeight мы можем сделать большим, но как разбить на несколько строк его содержимое?
Заранее спасибо.
Код:

<fx:Style>
        @font-face {
                src:url("assets/verdanab.ttf");
                fontFamily: "MyFont";
                fontWeight: bold;
        }
        .myStyle1{
                fontFamily:"MyFont";
                fontSize:12pt;
        }
</fx:Style>
<mx:DataGrid id="myGrid2" x="91" y="526" height="100" dataProvider="{initDG2}" editable="true"
                                variableRowHeight="true" maxHeight="150" headerHeight="60">
        <mx:columns>
                <mx:DataGridColumn dataField="Contact" width="150" headerText="Длинная надпись"/>
                <mx:DataGridColumn dataField="Phone" headerText="Длинная надпись">
                        <mx:headerRenderer>
                                <fx:Component>
                                        <mx:VBox horizontalAlign="center">
                                                <mx:Text text="{this.headerText.data}" styleName=".myStyle1" rotation="90"/>   
                                        </mx:VBox>
                                </fx:Component>
                        </mx:headerRenderer>
                </mx:DataGridColumn>
                <mx:DataGridColumn dataField="City"/>
                <mx:DataGridColumn dataField="Company" editable="false"/>
        </mx:columns>
</mx:DataGrid>

Добавлено через 31 час 1 минуту
На второй вопрос ответ нашёл.
Код:

<mx:DataGrid x="10" y="294">
                <mx:columns>
                        <mx:DataGridColumn headerText="Column 1" dataField="col1" headerWordWrap="true"/>
                        <mx:DataGridColumn headerText="Column 2" dataField="col2" headerWordWrap="true"/>
                        <mx:DataGridColumn headerText="Column 3" dataField="col3" headerWordWrap="true"/>
                </mx:columns>
        </mx:DataGrid>

Либо
Код AS1/AS2:

var dg:DataGrid = new DataGrid()
dg.width = 150
dg.height = 300;                 
var dgColumn:DataGridColumn = new DataGridColumn()
dgColumn.headerWordWrap = true; 
dgColumn.headerText = "test test test test test test test"; 
dgColumn.dataField = "test";                                 
dg.columns = [dgColumn]

Но первый вопрос открыт.

andrew2312 07.05.2012 18:30

Проблема, наверное, в
Код:

<fx:Style>
В нескольких примерах в интернете используется
Код:

<mx:Style>
и там всё работает. В смысле, всё поворачивается, как надо.
Но мой Builder предлагает только
Код:

<fx:Style>
Может кто-нибудь укажет мне на мою ошибку?
Спасибо.

Astraport 29.05.2012 17:58

Вероятно чтобы повернуть заголовок в DataGrid нужно создать для этого заголовка отдельный ItemRenderer и в нем уже повернуть Label.


Часовой пояс GMT +4, время: 09:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.