I got the code working.... The event chain was broken. Here's the fixed code:
 
(as always, right-click to view the source and download as a zip)
 
The one change you might not easily notice was in the thumbnail component...
 
dispatchEvent(new Event('purchase',true))
 
The true boolean is what tells the event to bubble up the application... so the event goes back to the original caller app, and doesn't just stay inside the itemRenderer.
 
Shan


From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of s_hernandez01
Sent: Thursday, July 13, 2006 10:40 AM
To: [email protected]
Subject: [Junk E-Mail - LOW] [flexcoders] Shopping Cart Trouble

Hi Flexers!!!

I was wondering if anyone can help me with my code. I'm trying to
create a shopping cart, but I'm having trouble on the addToCart() and
addItem() functions on my actionscript. I'm new to flex and not the
best actionscriptist so any advice would be greatly appreciated! I
want to add the product details (name, quantity, and price) from my
xml document ("catalog.xml") to the the datagrid in the shopping cart
when the user clicks the cart button "(cartBtn)." This has been
driving me nuts for the past week, PLEASE HELP! :)

Thanks

Sal


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" xmlns:local="*" creationComplete="srv.send()">

<mx:Script>
<![CDATA[
public function addToCart(product:Object):void{
cartView.addItem({name: product.name, qty: 1, price: product.price});
}
]]>
</mx:Script>

<mx:HTTPService id="srv" url="" useProxy="false"
result="(srv.lastResult.catalog.product)"/>

<mx:Canvas x="0" y="0" width="100%" height="100%">
<mx:HBox x="0" y="0" width="100%" height="100%"
horizontalAlign="center" verticalAlign="middle">

<mx:Panel id="catalogPanel" layout="absolute" width="780"
height="100%" shadowDirection="left" shadowDistance="6"
title=".:Browse:." fontSize="11" fontWeight="bold" moveEffect="Move">

<mx:Canvas id="boxesCanvas" width="100%" height="100%">
<!--Tile View-->
<mx:VBox width="100%" height="100%" horizontalAlign="right">
<mx:TileList dataProvider="{srv.lastResult.catalog.product}"
height="100%" width="100%" itemRenderer="thumbnail"
id="productTileList" rowCount="3" columnCount="4" dragEnabled="true"/>
</mx:VBox>
</mx:Canvas>
</mx:Panel>

<local:ShoppingCart id="cartView" width="200" height="50%"
purchase="addToCart(event)"/>

</mx:HBox>
</mx:Canvas>
</mx:Application>

<!--Shopping Cart Component-->
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Metadata>
[Event("purchase")]
</mx:Metadata>

<mx:Script>
<![CDATA[
public function addItem(item:Object):void{
dg.addChild(item.data);
}
]]>
</mx:Script>
<mx:Panel width="100%" height="100%" layout="absolute" title="Shopping
Cart">
<mx:DataGrid x="0" y="0" id="dg" width="100%" height="100%"
dropEnabled="true">
<mx:columns>
<mx:DataGridColumn headerText="Product" dataField="name"/>
<mx:DataGridColumn headerText="Quantity" dataField="qty"/>
<mx:DataGridColumn headerText="Price" dataField="price"/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:Canvas>

<!--Thumbnail Component-->
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%"
height="100%">

<mx:Metadata>
[Event("purchase")]
</mx:Metadata>

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" backgroundAlpha="0"
borderStyle="none" width="75%" height="100%"
verticalAlign="middle" verticalGap="0" verticalScrollPolicy="off"
horizontalAlign="center" >

<mx:Image id="img" height="115" width="130" source="../{data.image}"
verticalAlign="middle"
horizontalAlign="center"/>
<mx:Label text="{data.part}" fontWeight="bold" fontSize="10"/>
<mx:Label text="{data.manufacturer}" fontWeight="bold" fontSize="8"/>

</mx:VBox>
<mx:VBox width="25%" height="100%" horizontalAlign="center"
verticalAlign="middle">
<mx:Button id="cartBtn" width="40" label="Add" toolTip="Add To Cart"
click="dispatchEvent(new Event('purchase'))"/>
</mx:VBox>
</mx:HBox>


--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.10/387 - Release Date: 7/12/2006

__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex Software development best practice


YAHOO! GROUPS LINKS




__,_._,___

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.10/387 - Release Date: 7/12/2006

Reply via email to