|
|
|||||
List и data.name
Доброго всем времени суток, недавно взялся за освоение Flex и столкнулся с проблемой. Пытаюсь создать свой компонент на основе List, в компоненте картинка и напротив неё Label - так выглядит одна строка списка. Вот код компонента:
<mx:List top="" xmlns:mx="http://www.adobe.com/2006/mxml" width="220" height="500" xmlns:local="*"> <mx:itemRenderer> <mx:Component> <mx:Grid > <mx:GridRow paddingLeft="10" > <mx:GridItem paddingLeft="0" width="1%" paddingTop="8" > <local:ButtonForMenu /> </mx:GridItem> <mx:GridItem width="99%"> <mx:Label text="{data.name}" color="#000000" /> </mx:GridItem> </mx:GridRow> </mx:Grid> </mx:Component> </mx:itemRenderer> по идее должны браться данные из dataProvider Label-ом, но не берет. Оказалось что если Label находится не в контейнере то данные берутся, а если в контейнере то данные он почему то не видит. Подскажите плз что не так и как с этим бороться? |
|
|||||
Регистрация: Jan 2010
Сообщений: 211
|
А на кой в листе грид? - Неужели не проще вставить Canvas или HBox? - Не будет двоякости в подчиненности коллекций (List -> Grid -> Label)
dataProvider - коллекция стрингов, почему обращение идет data.name? - Где у объектов провайдера такое свойство? |
|
|||||
При вызове компонента в dataProvider передается массив данных, вот
А text="{data.name}" должен передать элементу списка значение из массива, по вашему совету расположил всё на Canvas, однако данные в список всё равно не передаются, из контейнера почему-то не видит это свойство. И какое свойство использовать тогда если не data.name, я прочитал что именно data.name необходим... |
|
|||||
Регистрация: Jan 2010
Сообщений: 211
|
Если бы было:
<mx:Array id="colors"> <fx:Object name="Red"/> .... <fx:Object name="Violet"/> </mx:Array> <local:MenuList dataProvider="colors"/> Но в твоем случае передается просто строковый массив. Поэтому предлагаю (но не настаиваю на правильности): 1. Сделать примерно как я показал и обращаться к нужным свойствам. или 2. Попробовать использовать просто data (а не data.name) |
|
|||||
Вариант 2 сработал)))) Просто data возвращает данные, супер!! Спасибо вам боольшущее))))!!
|
Часовой пояс GMT +4, время: 00:40. |
|
« Предыдущая тема | Следующая тема » |
|
|