Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как перерисовать List, после изменения его DataProvider (http://www.flasher.ru/forum/showthread.php?t=167084)

zexis 08.09.2011 01:49

Как перерисовать List, после изменения его DataProvider
 
Есть следующий код приведенный ниже.
В этом коде создается элемент List и кнопка Button. По нажатию на кнопку меняется значение одного из элементов DataProvider.
Но после нажатия кнопки Button, пока не кликнешь мышью на List, новое значение в списке не перерисуется.
Вопрос.
Как заставить List перерисовать новое значение в списке сразу же после редактирования DataProvider ?

Код AS3:

import fl.controls.List;
import fl.data.DataProvider;
import fl.events.ListEvent;
import fl.controls.Button;
 
var myDataProvider:DataProvider = new DataProvider();
myDataProvider.addItem({label:"item 1"});
myDataProvider.addItem({label:"item 2"});
myDataProvider.addItem({label:"item 3"});
 
var myList:List = new List();
myList.dataProvider = myDataProvider;
addChild(myList);
 
var bt:Button=new Button();
bt.x=200;
bt.y=200;
bt.addEventListener(MouseEvent.CLICK,bt_click);
addChild(bt);
 
function bt_click(e:MouseEvent):void{
        var ob:Object;
        ob=myDataProvider.getItemAt(1);
        ob.label="Edit label";
}


mayakwd 08.09.2011 02:51

Код AS3:

myList.drawNow();

Лучше использовать методы самого List-а нет необходимости вручную создавать новый DataProvider:
myList.addItem, myList.addItems, после использования данных методов нет необходимости вызывать drawNow().


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

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