|
|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SYS-CON.TV SYS-CON.TV WEBCASTS |
TOP COLDFUSION LINKS Feature
Your First Adobe Flex Application with a ColdFusion Backend
The wow factor plus usability
Jul. 19, 2007 01:30 PM
Digg This!
Page 2 of 4
« previous page
next page »
However, the compiler still complains that it can't find the TaskItem component. "But I just created it!" you say. The problem is that the main application doesn't know where to find it. Since you saved it in the same folder, you have to indicate that other components can be found there by adding the following attribute to the Application tag in the mytodolist.mxml file: xmlns="*" Lastly, declare the taskData variable in your new component (TaskItem.mxml) so that it will finally compile without errors: <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%"> Why wouldn't it compile? Because when you put the tag <TaskItem> in the main application, you also specified the attribute: taskData="{taskList.currentItem}." This was necessary to be able to send the current task to the custom component during each loop of the Repeater. This variable has to be set as bindable so that you can bind to its properties in the controls inside this component. If you look carefully, you'll see that this variable has the type "Task." This type refers to the ActionScript file automatically generated by the ColdFusion wizard. The properties of this class match exactly those of your Task ColdFusion component. An instance of the TaskItem component (Figure 5) shows the description and priority of the task and a button to remove the task. As described above, the data is set when the component is instantiated by the Repeater and accessible in the variable "taskData" inside the component. You can use the Design view to drag an Image, a Label, and a Button and put it in the Canvas. The Properties panel of the Design view shows common properties of the selected component. In that panel, set the text property of the Label as: {taskData.description} and the source property of the Image as: images/priority{taskData.priority}.png. Note that you should have a folder called "images" with an image for every priority you want to show. These images should be called "priorityNUMBER.png," where NUMBER should be replaced with the priority number (i.e.: 1, 2, 3). Everything should compile, but unfortunately you won't be able to see anything because there's no data. Getting Data from a ColdFusion Service <mx:RemoteObject Inside a script block, implement the tasksReceived function as follows to set the source of the task ArrayCollection to what the service sent as a response of the getAll method: private function tasksReceived(event:ResultEvent):void { If you open TaskGateway.cfc, you'll see that the method "getAll" returns an array of Task objects. When you set that array to the source of the tasks ArrayCollection, the Repeater will get populated with this data since you declared it as the Repeater's dataProvider. If Flex Builder didn't add the required import statements automatically, add: import mx.controls.Alert; The other function you need to implement is taskSaved. For now leave it empty; you'll complete it later. private function taskSaved(event:ResultEvent):void { Everything works, but...you still don't see anything on the screen. That's because you haven't called the service yet. Since you want to load the list of tasks as soon as the application loads, put a function call in the applicationComplete attribute of the Application tag. You'll set it to call a custom function called setUp(): applicationComplete="setUp()" Then implement the function so that it sends the actual request to the server: private function setUp():void{ Of course you still won't see anything if your database is empty. To test it out, just add a couple of records manually. You'll build the form to enter new items in the next section. Page 2 of 4 « previous page next page »
CFDJ LATEST STORIES . . .
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||