Hi Stephen,
you pretty much have it. Steps 1 and 2 can be done in any order. You can do 
your Flex layout first if you want and then write your CF code or vice versa, 
that part doesn't really matter.

I'm not sure what your trying to bind your data to but say you had a datagrid 
that you wanted to populate from data returned from a CFC.

There are several ways to do this but the easiest way I found is to use a 
<mx:RemoteObject> tag with your method name and a result to return your data to:

<mx:RemoteObject method="myMethod" result="myMethodResult(event)" 
fault="Alert.show(event.fault.message)" />

Now you can either pass arguments into that RemoteObject or just call it as is. 

In your ActionScript code you need to have your results method to populate your 
grid. First you need to declare a Bindable variable so that your grid has 
something to bind to.

[Bindable] public var myResult:Object;

public function myMethodResult(event:ResultEvent):void {
        myResult = event.result;
}

One warning I would give is- if you need to do any type of Array functions this 
method will not allow that. You would need to either use the 
<mx:ArrayCollection> to convert it to an ArrayCollection or return your query 
results as an array and set your variable to an ArrayCollection datatype.

Now to populate your datagrid you would just do:

<mx:DataGrid dataProvider="{myResult}" >
                                <mx:columns>
                                 <mx:Array>
                                     <mx:DataGridColumn headerText="Column1" 
dataField="column1"/>
                                    <mx:DataGridColumn headerText="Column 2" 
dataField="column2"/>
                                    <mx:DataGridColumn headerText="Column 3" 
dataField="column2/>
                                      </mx:Array>
                                </mx:columns>
                            </mx:DataGrid>

This way may not be best practice but to get you up and running this should 
help. If you need anymore help just let me know.

Ben
----- Original Message ----
From: Stephen Adams <[EMAIL PROTECTED]>
To: flexcoders@yahoogroups.com
Sent: Monday, November 27, 2006 10:32:29 AM
Subject: [flexcoders] Flex and CF (or how ActionScript is making me want to cry)









  


    
            
Hi,

 

I'm trying to get my head around using Flex with ColdFusion, but I'm really 
getting stuck with how Flex works with CF. 

 

I'm trying to create a application which has several forms in which the user 
enters, save and update user details, simple stuff really. I can create the CF 
code (using DAO's, gateways and Beans. But linking the methods in my CF to Flex 
is melting my brain. Every example I've seen says it easy, and then uses tons 
of ActionScript, which I get lost in.


 

SO what's the basic steps in linking CF and Flex, are they:

 


Create your CF code (DAO's, Bean's and Gateways)
Create your flex layout
Call the CF Gateway using <mx:RemoteObject>
Then link the results of the methods to the layout (this is the bit I'm lost 
at, passing data back and forth to CF methods)
Any help will be great and stop me running down the road screaming.

 

Thanks

 

Stephen


    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->







Reply via email to