Hi -
Your example works fine, but when I try to achieve a similar binding using a value object defined as an external class, I get a type mismatch error:
"Type mismatch in assignment statement: found Object where String is required".
Here are some more details of my test setup.
I have a value object defined as a class:
class EmployeeOptions
{
public var firstname:String;
public var lastname:String;
public var country:String;
}In a component called Employee, I've instantiated the class as:
<EmployeeOptions id="vo"/>
I'm trying to bind it from text fields and the comboBox this way:
<mx:Binding source="firstName.text" destination="vo.firstname" /> <mx:Binding source="lastName.text" destination="vo.lastname" /> <mx:Binding source="countries.value" destination="vo.country"/>
To return values to my component, I've created a delegate called EmployeeDelegate. This is instantiated in the component as:
<EmployeeDelegate id="delegate"/>
I'm trying to call methods in the delegate to populate the component with constructions such as:
<mx:Label id="Name" text="{delegate.getEmployeeName(vo.firstname,vo.lastname)}"/>
This setup works just fine with the text fields, but the comboBox gives me the type mismatch error when I use the above bindings.
Help!
- Tom
At 08:38 PM 3/14/2005, you wrote:
Hi,
I don't have the book so couldn't look at the code...I know code is available somewhere online, but me being lazy :)
However, following code might help you...
###mxBindingTest.mxml###
<mx:Application width="800" height="600"
xmlns:mx="<http://www.macromedia.com/2003/mxml>http://www.macromedia.com/2003/mxml" >
<!-- Form contains user input controls. --> <mx:Form label="Employee Information"> <mx:FormItem label="First Name"> <mx:TextInput id="firstName" /> </mx:FormItem> <mx:FormItem label="Last Name"> <mx:TextInput id="lastName" /> </mx:FormItem> <mx:FormItem label="Department"> <mx:TextInput id="department" /> </mx:FormItem> <mx:FormItem label="Email Address"> <mx:TextInput id="email" /> </mx:FormItem> <mx:FormItem label="Country"> <mx:ComboBox id="countries" > <mx:dataProvider> <mx:Array> <mx:String>India</mx:String> <mx:String>USA</mx:String> </mx:Array> </mx:dataProvider> </mx:ComboBox> </mx:FormItem> </mx:Form>
<!-- The myEmployee data model --> <mx:Model id="myEmployee"> <name> <first/> <last/> </name> <department/>/ <email/> <country /> </mx:Model>
<!-- Properties of user interface controls are bound to the myEmployee data model using <mx:Binding> tags -->
<mx:Binding source="firstName.text" destination="myEmployee.name.first" /> <mx:Binding source="lastName.text" destination="myEmployee.name.last" /> <mx:Binding source="department.text" destination="myEmployee.department"/> <mx:Binding source="email.text" destination="myEmployee.email"/> <mx:Binding source="countries.value" destination="myEmployee.country"/>
<mx:TextInput text="{myEmployee.country}"/>
</mx:Application>
Notice how combobox box is bound to a Model and Model is bound to TextInput...
-abdul
-----Original Message----- From: Tom Fitzpatrick [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 15, 2005 6:01 AM To: [email protected] Subject: [flexcoders] ComboBox databinding
I'm trying to create an application based on the LoanCalculator example in the Webster/McLeod book.
Everything's working fine for simple bindings between text inputs on a form and the value object. Where I'm having trouble creating a databinding between a comboBox in the form and the value object. When the user selects an item in the comboBox it should be stored as a string in the value object.
What's the way to accomplish this? All the value object variables are public, as in the book example.
Specifically, what would the <mx:Binding/> statement look like? A simple example would be even better.
Thanks.
- Tom
Yahoo! Groups Links
Yahoo! Groups Sponsor ADVERTISEMENT <http://us.ard.yahoo.com/SIG=129m8jrlh/M=298184.6018725.7038619.3001176/D=groups/S=1705007207:HM/EXP=1110937115/A=2593423/R=0/SIG=11el9gslf/*http://www.netflix.com/Default?mqso=60190075> click here
[]
----------
Yahoo! Groups Links
* To visit your group on the web, go to:
* <http://groups.yahoo.com/group/flexcoders/>http://groups.yahoo.com/group/flexcoders/
*
* To unsubscribe from this group, send an email to:
* <mailto:[EMAIL PROTECTED]>[EMAIL PROTECTED]
*
* Your use of Yahoo! Groups is subject to the <http://docs.yahoo.com/info/terms/>Yahoo! Terms of Service.

