![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 1
|
всем доброго времени суток и всех с наступающим
![]() у меня вопрос вот какого плана.. есть DataGrid, заполняемый данными. заголовки столбцов в нем могут быть самой разной длины, и мне нужно, чтобы: 1. название каждого столбца помещалось в заголовке (без изменения шрифта) 2. если имя столбца очень короткое - чтобы в заголовке столбца не оставалось много свободного места. иными словами, мне нужно, чтобы ширина каждого столбца менялась в зависимости от содержимого его заголовка.. я понимаю, что нужно имплементировать свой headerRenderer, но, так как ранее с рендерерами дела не имел, пока не получается добиться желаемого эффекта. допустим, что сам датагрид у меня описан примерно в таком формате: <mx:DataGrid headerRenderer="ColumnRenderer" >
<mx:dataProvider>
<mx:ArrayCollection>
<mx:source>
<mx:Object Name="name 1" SecondName="second name 1"/>
</mx:source>
</mx:ArrayCollection>
</mx:dataProvider>
<mx:columns>
<mx:DataGridColumn headerRenderer="ColumnRenderer" headerText="Name" dataField="Name" />
<mx:DataGridColumn headerRenderer="ColumnRenderer" headerText="Second Name" dataField="PrevClaimID" />
</mx:columns>
</mx:DataGrid>
<mx:Label xmlns:mx="http://www.adobe.com/2006/mxml" > <mx:Script> <![CDATA[ import mx.controls.dataGridClasses.*; import mx.controls.listClasses.*; import mx.controls.Label; override public function set data(value:Object):void { if(value != null) { // допустим, длину текста в заголовке я могу получить так: var myListData:DataGridListData = DataGridListData(listData); var textLength:int = myListData.label.length; // чтобы изменить сам текст в заголовке столбца - достаточно сделать так: text = "bla-bla"; // а вот как установить получать ширину заголовка в пикселях, и как установить ширину столбца - не понимаю // .... } } </mx:Script> </mx:Label> нужно ли вообще переопределять функцию set data или же надо идти каким-то иным путем? Заранее спасибо и с Новым Годом.) Последний раз редактировалось izok; 02.01.2009 в 11:18. |
![]() |
Часовой пояс GMT +4, время: 14:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|