![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Адрес: Саратов
Сообщений: 185
|
Как, используя tilelist сделать компоненты dataprovider отдельными боксами, я так полагаю стоит использовать itemrenderer но в каком ключе не знаю. Заранее спасибо!
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2010/10/20/creating-complex-data-provider-objects-in-mxml-using-flex-4/ -->
<s:Application name="MX_DataGrid_dataProvider_Object_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init();">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.List;
[Bindable]
public var arr:Array = ['sam', 'george', 'harris']
//{label:"David", id:"11/19/1995"}, {label:"Collen", id:"4/20/1993"}, {label:"Sharon", id:"9/06/1997"}, {label:"Ronnie", id:"7/6/1993"}, {label:"James", id:"2/15/1994"},
protected function init():void {
//for(i=0; i < arr.length; i++) {
}
]]>
</fx:Script>
<mx:TileList x="145" y="28" width="505" height="294" id="dg" dataProvider="{arr}">
<mx:itemRenderer>
<fx:Component>
<mx:HBox width="150" height="50">
<mx:Image height="47" width="50" source="http://cs10864.vkontakte.ru/g22570536/c_157848f1.jpg" ></mx:Image>
<mx:Label text="{data}"/>
</mx:HBox>
</fx:Component>
</mx:itemRenderer>
</mx:TileList>
</s:Application>
|
|
|||||
|
Ничего не понятно.
По простому DataProvider это массив данных, а ItemRenderer - это визуализация этих данных. Удобнее делать ItemRenderer в виде отдельного класса. Да и List использовать вместо TileList. <s:List x="145" y="28" width="505" height="294" id="dg" dataProvider="{arr}" itemRenderer="components.myItemRenderer"/> <?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <mx:HBox width="150" height="50"> <mx:Image height="47" width="50" source="{data.source}" ></mx:Image> <mx:Label text="{data.label}"/> </mx:HBox> </s:ItemRenderer> |
|
|||||
|
Регистрация: Aug 2010
Адрес: Саратов
Сообщений: 185
|
Цитата:
Добавлено через 10 минут Попробовал вашим способом... появляющаяся полоса загрузки, заполняется на 3/4 и тишина... |
|
|||||
|
Цитата:
Только некрасиво будет видимо. Если выводить картинку, а под ней Label, то лучше использовать VBox. Вместо массива лучше использовать ArrayCollection примерно такого формата: |
|
|||||
|
Регистрация: Aug 2010
Адрес: Саратов
Сообщений: 185
|
Цитата:
|
|
|||||
|
Регистрация: Aug 2010
Адрес: Саратов
Сообщений: 185
|
Цитата:
Вот оба файла, может fb глючит... хотя больше склоняюсь к своим кривым рукам) test.mxml <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
[Bindable]
public var arr:Array = [
{label:"David", sn:"harisson"},
{label:"Collen", sn:"johnson"},
{label:"Sharon", sn:"marshal"},
{label:"Ronnie", sn:"cartman"}]
]]>
</fx:Script>
<fx:Declarations>
<!-- Разместить невизуальные элементы (например, службы или объекты значений) -->
</fx:Declarations>
<s:List x="145" y="28" width="505" height="294" id="dg" dataProvider="{arr}" itemRenderer="components.itr"/>
</s:Application>
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
<mx:HBox width="150" height="50">
<mx:Image height="47" width="50" source="http://cs10864.vkontakte.ru/g22570536/c_157848f1.jpg" ></mx:Image>
<mx:Label text="{data.label}"/>
</mx:HBox>
</s:ItemRenderer>
|
|
|||||
|
Я же писал, что нужно использовать ArrayCollection
И вообще, как можно тестировать приложение без debug плеера? |
|
|||||
|
Регистрация: Aug 2010
Адрес: Саратов
Сообщений: 185
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|