Populating ComboBox with CFC web service return type query


i learning flex , attempting first app (i have been cfer years).

 

anyway, attempting build air app in flex has login form submit information database.

 

things going ok, except stumped @ think should simple...populating combo box. have cfc (i using cfcs web service drive app) contains method returns query. want use results populate combo box display , value. created combo box , dragged method box have fb create code. populates list [object object]. piece of cake in cf not stumbling across correct syntax in flex. pointers appreciated.

 

here current code.

 

<?xml version="1.0" encoding="utf-8"?>

<s:windowedapplication xmlns:fx="http://ns.adobe.com/mxml/2009"

                       xmlns:s="library://ns.adobe.com/flex/spark"

                       xmlns:mx="library://ns.adobe.com/flex/mx"

                       xmlns:users="services.users.*"

                       currentstate="login"

                       xmlns:vinlookup="services.vinlookup.*"

                       xmlns:inventory="services.inventory.*"

                       creationcomplete="init()">

 

    <fx:script>

        <![cdata[

            import mx.collections.arraycollection;

            import mx.controls.alert;

            import mx.events.flexevent;

            import mx.rpc.events.faultevent;

            import mx.rpc.events.resultevent;

            import mx.utils.objectutil;

           

            /*login code----------------------------------*/

            private var loginrs:object;

           

            //failed connect wsdl service

            private function generalfailed_handler(e:faultevent):void

            {

                alert.show(e.fault.faultstring, "error connecting service");

            }

            //login handler

            protected function submitbtn_clickhandler(event:mouseevent):void

            {

                loginuserresult.token = users.loginuser(username.text, password.text);

            }

            //result handler account authentication

            private function loginuserresult_resulthandler(e:resultevent):void

            {

                //check result

                //alert.show(objectutil.tostring(e.result),"login results")

                loginrs = new object();

                loginrs = e.result;

               

                if(loginrs['loggedin'] == 'y')

                {

                    currentstate = 'insertinventory';

                }else{

                    alert.show("try again please.");

                }

            }

            /*-------------------------------------------------*/

           

            /*vin lookup code----------------------------------*/

            private var vinrs:object;

           

            //vin lookup handler

            protected function vinsubmitbtn_clickhandler(event:mouseevent):void

            {

                getvininforesult.token = vinlookup.getvininfo(vin.text, "basic");

            }

            //result handler account authentication

            private function vinlookupresult_resulthandler(e:resultevent):void

            {

                //check result

                alert.show(objectutil.tostring(e.result),"lookup results")

                vinrs = new object();

                vinrs = e.result;

               

                if(vinrs == null)

                {

                    alert.show("the vin did not decode. try again please.");

                }

                else

                {

                    bodystyle.text = vinrs['varbodystyle'];

                    //alert.show("yes!");

                }

            }

           

            /*-------------------------------------------------*/

           

            /*item type combo box code----------------------------------*/   

            protected function combobox_creationcompletehandler(event:flexevent):void

            {

                getitemtyperesult.token = inventory.getitemtype();

            }

 

            /*-------------------------------------------------*/

           

        ]]>

    </fx:script>

    <s:states>

        <s:state name="login"/>

        <s:state name="insertinventory"/>

    </s:states>

 

    <fx:declarations>

        <s:callresponder id="loginuserresult" result="loginuserresult_resulthandler(event)"/>

        <users:users id="users" fault="alert.show(event.fault.faultstring + '\n' + event.fault.faultdetail)" showbusycursor="true"/>

        <s:callresponder id="getvininforesult" result="vinlookupresult_resulthandler(event)"/>

        <vinlookup:vinlookup id="vinlookup" fault="alert.show(event.fault.faultstring + '\n' + event.fault.faultdetail)" showbusycursor="true"/>

        <inventory:inventory id="inventory" fault="alert.show(event.fault.faultstring + '\n' + event.fault.faultdetail)" showbusycursor="true"/>

        <s:callresponder id="getitemtyperesult"/>

        <!-- place non-visual elements (e.g., services, value objects) here -->

    </fx:declarations>

    <s:panel width="250" height="150" title="login" horizontalcenter="0" verticalcenter="0" includein="login">

        <mx:form width="100%" height="100%" horizontalcenter="0" verticalcenter="0">

            <mx:formitem label="user name">

                <s:textinput id="username"/>

            </mx:formitem>

            <mx:formitem label="password">

                <s:textinput id="password" displayaspassword="true"/>

            </mx:formitem>

            <mx:formitem>

                <s:button label="login" id="submitbtn" click="submitbtn_clickhandler(event)"/>

            </mx:formitem>

        </mx:form>

    </s:panel>

    <s:panel includein="insertinventory" width="400" height="400" title="insert inventory" horizontalcenter="0" verticalcenter="0">

        <mx:form width="100%" height="100%" horizontalcenter="0" verticalcenter="0">

            <mx:formitem label="vin">

                <s:textinput id="vin"/>

            </mx:formitem>

            <mx:formitem id="vinsubmitbtn">

                <s:button label="decode vin" id="vinsubmitbtn" click="vinsubmitbtn_clickhandler(event)"/>

            </mx:formitem>

            <mx:formitem label="body style">

                <s:textinput id="bodystyle"/>

            </mx:formitem>

            <mx:formitem label="item type">

                <s:combobox id="combobox" creationcomplete="combobox_creationcompletehandler(event)">

                    <s:asynclistview list="{getitemtyperesult.lastresult}"/>

                </s:combobox>

            </mx:formitem>

 

        </mx:form>

    </s:panel>

   

</s:windowedapplication>

i figured out of help. switched using dropdownlist , first example in help.



More discussions in Flex (Read Only)


adobe

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support