Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Использования элемента fl.controls.List (ActionScript 3.0). (http://www.flasher.ru/forum/showthread.php?t=140939)

Luminor 11.06.2010 11:49

Использования элемента fl.controls.List (ActionScript 3.0). как?
 
Не могу разобратся с элементом list.
Подгружаю во flash данные из xml.
Данные приходят таким образом:
Код:

<response>
<user>
<id>1</id>
<score>2</score>
</user>
<user>
<id>2</id>
<score>3</score>
</user>
...
<user>
<id>100500</id>
<score>1</score>
</user>
</response>

Делал вывод топ 5, и каждую в текстовое поле. А если сделать топ 100 например? Как пользоватся элементом list? в интернете посмотрел примеры, непонятно

Хемуль 11.06.2010 14:23

2 Luminor:
Смотрим документацию...
У компонента List есть свойство dataProvider. Через него задаются данные для списка. Если пойти дальше по документации и посмотреть описание класса DataProvider, можно увидеть примеры кода типа:
Код AS3:

import fl.controls.ComboBox;
import fl.data.DataProvider;
 
var dp:DataProvider = new DataProvider();
dp.addItem({label:"item 1a"});
dp.addItem({label:"item 2a"});
 
var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

Каждым элементом для DataProvider служит обьект, у которого, по идее, должно быть как минимум одно свойство "label", которое отвечает за подпись единицы списка, отвечающей этому обьекту. Ну, дальше там могут быть любые другие поля.
Текущую выбранную единицу списка можно получить через свойство selectedItem того же List'а.
И примеры в документации имеются:
Код AS3:

import fl.controls.List;
import fl.data.DataProvider;
 
var dp:DataProvider = new DataProvider();
var i:uint;
for (i = 0; i < 5; i++) {
    dp.addItem( { label: "Sample Name"} );
}
 
var list:List = new List();
list.dataProvider = dp;
list.addEventListener(Event.CHANGE,announceClickedItem)
addChild(list);
 
function announceClickedItem(e:Event):void {
    trace("You have clicked: " + list.selectedItem.label + " in row " + list.selectedIndex);
}


Luminor 11.06.2010 18:56

все исходники которые есть, примеры не отображаются
(( в коде ошибок нет но не отображается почемуто


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

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