Step 5: Data bind Label and Loader to Combobox
The homestretch, which also includes an AS Class. Don’t get scared, it’s quite simple, but first we’re going to data bind our Label to our ComboBox. Go ahead and close your test swf (not your fla). Select your Label and view the Bindings Tab in the Component Inspector panel. Press the ’+’ to add a new data binding. text : String is selected by default, press OK. Double click the the ‘bound to’ field in the bindings tab which will bring up the ‘Bound To’ window. Select ‘ComboBox’ in the ‘Component path’ window. In the ‘Schema location’ window, select selectedItem : Object. Down below, check the ‘Use path expression’ CheckBox. Insert ‘path’ into the textfield. Press OK. [We inserted ‘path’ because in our XML node, that is how we labeled the nodeName] Thats it for our Label component. Feel free to test your movie again (Ctr- Enter). Your Label will populate once you select an item in the ComboBox.
Next is data binding our Loader to the ComboBox. We saved the trickiest for last. Select your Loader component on the stage with your Component Inspector panel open. Select the Bindings Tab. Click ’+’ to add a new data binding. Select contentPath : String which is selected by default and press OK.
Double-click the ‘bound to’ field in the Component Inspector panel which will open the ‘Bound To’ window. In the ‘Component path’ window, select ComboBox. In the ‘Schema Location’ window, select selectedItem : Object. Down below, check the ‘Use path expression’ CheckBox. Insert ‘path’ into the textfield. Press OK.
Right below our ‘bound to’ field, is our ‘formatter’ field. Select ‘Custom Formatter’. Right below ‘formatter’ field, change ‘formatter options’ to ‘FilePath’. This allows a custom AS class to output our file path of our image. We are finished with the Loader Bindings.
Next we will create our Custom Formatter class. Create a new .as file (File -> New… -> ActionScript File). Copy and paste in the following code: class FilePath
{
function FilePath()
{
trace("FilePath Custom Formatter called.");
}
function format(file_name:String)
{
var path = "http://www.bradywhite.net/wordpress/tuts/DataBinding/images/";
var fullPath = path + file_name;
return fullPath;
}
}
Save this .as file as ‘FilePath.as’. This is very important that you save it with case sensitivity. Make sure that you save the file to the same folder as your .fla so that it will include it. Go back go your .fla and save it to the same folder as the FilePath.as file. Test your movie and everything should be binded and working. Congratulations, you did it!