Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   обработка события <mx:List> (http://www.flasher.ru/forum/showthread.php?t=132055)

chata 03.11.2009 13:33

обработка события <mx:List>
 
Здравствуйте, пишу информационно-справочную систему на Flex. Каталог делаю используя List компонент.
Вопрос, необходимо при клике на Item загружать увеличенную картинку(а имеено слайд-шоу из нескольких картинок), как это сделать или может предложите другой способ создания каталога?

Вот кусок кода для моего каталога

Код:

<mx:Canvas width="80%" height="100%" borderStyle="none">
                       
                        <mx:ViewStack x="10" y="10" id="catalogViewStack" width="100%" height="100%">
                                <mx:Canvas id="all" label="all" width="100%" height="100%">
                                <mx:List  id="allList"
                                        width="100%" height="100%"
                                        itemClick="changeHandler(event)"
                                        dataProvider="{origamiList}"
                                        labelField="name"
                                        itemRenderer="components.OrigamiImage" ></mx:List>       
                                </mx:Canvas>
                               
                                <mx:Canvas id="masks" label="masks" width="100%" height="100%">
                                        <mx:Text text="Надо написать запрос"/>
                                </mx:Canvas>
                               
                                <mx:Canvas id="animal" label="animal" width="100%" height="100%">
                                        <mx:Text text="Надо написать запрос"/>
                                </mx:Canvas>
                                ......
                                ......
                               
                        </mx:ViewStack>
                </mx:Canvas>

спасибо

lighto 03.11.2009 13:41

А можно увидеть changeHandler(event). там же все действия?

robinzone_dev 03.11.2009 19:10

создаешь свое окно, как компонент, а на itemClick ивент делаешь чето, типа

myWindow = new MyWindow(); // новый экземпляр окна (слайдшоу)
PopupManager.addPopUp(myWindow, this, true);

chata 04.11.2009 11:32

Цитата:

А можно увидеть changeHandler(event). там же все действия?
вопрос и заключается в том, что там написать

Добавлено через 1 минуту
Цитата:

создаешь свое окно, как компонент, а на itemClick ивент делаешь чето, типа
компонент типа mxml components?

lighto 04.11.2009 12:12

да компонент все верно и попапом вызываешь затем рушишь попап (при выходе)
а может тебе это поможет там правда не флекс но глянь вдруг?
http://adobeusergroup.ru/galereya-kak-slajjdy

Добавлено через 9 минут
Вот как было у меня смотри функцию onCreateComplete() в этом файле(Passwordz.mxml)
Код AS3:

<?xml version = "1.0" encoding = "utf-8"?>
<mx:TitleWindow xmlns:mx = "http://www.adobe.com/2006/mxml"
                creationComplete="onCreateComplete()"
                layout="absolute"
                close = "CloseAll()"
                width="316"
                height="164"
 
                themeColor="#101213"
                borderColor="#FF0000"
                backgroundColor="#FEFEFE"
                xmlns:ns1="phi.controls.*">
    <mx:Script>
        <![CDATA[
 
        import mx.managers.PopUpManager;
        import mx.binding.utils.BindingUtils;
        import mx.collections.ArrayCollection;
                import mx.controls.Alert;
                import mx.events.CloseEvent;
                import mx.controls.ProgressBar;
                import mx.managers.CursorManager;
 
                import phi.interfaces.IQuery;
            import phi.interfaces.IDatabase;
            import phi.db.Database;
            import phi.db.Query;
 
            private var db :IDatabase; 
            private var query1 :IQuery;
            private var query2 :IQuery;
            private var pId :String;
 
            private var myTimer1:Timer;
 
            [Bindable] public var pQuery1 : ArrayCollection;
            [Bindable] public var pQuery2: ArrayCollection;
 
*onCreateComplete--------------------------------------------------------------------------------       
        private function onCreateComplete():void
                {
                PopUpManager.centerPopUp(this);
                db = Database.getInstance();
            query1=new Query();
            query2=new Query();
            db.connect("conn2","root","","localhost","test",true);
            query1.connect("conn2",db);
            query2.connect("conn2",db);
            LoadCombo1();
            ClearAll();
            ProgressBar1.visible=false;
                }
//*------------------------------------------------------------------------------------------------
 
//*CloseAll--------------------------------------------------------------------------------       
            private function CloseAll():void
                {
                db.disconnect("conn2");       
        PopUpManager.removePopUp(this)
                }
 
        ]]>
    </mx:Script>               
 
        </mx:TitleWindow>

и есть еще шлавный файл(AmfPhpDataBase.mxml) тут вызов окна идет
Код AS3:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
        layout="absolute"
        creationComplete="onCreateComplete()"
        xmlns:mx="http://www.adobe.com/2006/mxml"
        borderColor="#F7F8F9">
<mx:Script>
        <![CDATA[
        import mx.managers.PopUpManager;
        [Bindable] public var aW:UsersWindow;
        [Bindable] public var aP:Passwordz;
        [Bindable] public var aD:DoljnostWindow;
        [Bindable] public var pClosed:Boolean;
 
//*onCreateComplete--------------------------------------------------------------------------------       
        private function onCreateComplete():void
                {
                //PasswordzFormShow();
                }
 
 
                private function PasswordzFormShow():void
        {
            aP = new Passwordz();
            PopUpManager.addPopUp(aP, this, true);
        }
 
        private function DoljnostWindowShow():void
        {
            aD = new DoljnostWindow();
            PopUpManager.addPopUp(aD, this, false);
        }
 
        ]]>
</mx:Script>
 
<mx:Panel layout="absolute" id="Panel1" top="10" bottom="10" right="10" left="10" backgroundColor="#D5E0F1">
 
        <mx:Button x="350" y="10" label="ОКно пароЛя" width="162" click="PasswordzFormShow()"/>
 
</mx:Panel>
 
</mx:Application>

не знаю поможет иль нет но все же как то так

chata 04.11.2009 12:52

Большое спасибо, что то набросала. Буду делать дальше, посмотрим что выйдет 8)

robinzone_dev 05.11.2009 11:53

на торрентс.ру есть
Lynda.com – Flex 3 Beyond the Basics (with David Gassner)
видео-уроки, глянь уроки
01 Using Popup Windows

lighto 05.11.2009 12:17

А можно будет потом ссылочку на вашу законченую работу глянуть))).

chata 07.11.2009 15:30

Я это делаю в рамках расчетной работы, поэтому выкладывать наверное никуда не буду, ибо база будет на локалке. Но если буду это продолжать развивать, то выложу


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

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