I can't understand what you have from your description.  Post the
relevant code snippets.

Tracy

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of mark goldin
Sent: Wednesday, January 02, 2008 1:34 PM
To: [email protected]
Subject: RE: [flexcoders] Re: Two way binding

 

Alright. Is the following correct: 

Inside of a model I have it nodes bound to form items. In the form I
have it items bound to model's nodes, and xmlmodelvar = event.result as
XML will pull data into the model as well as show int in the form's
controls?

Tracy Spratt <[EMAIL PROTECTED]> wrote:

        The simplest is to declare an instance variable typed as XML:

        var _xmlEmployee:XML;

        Then assign the event.result as XML in a result handler:

        _xmlEmployee = event.result as XML;

        If you want to use the declarative style, do:

        <mx:XML id="xmlEmployee" />

        And in the result handler, do:

        xmlEmployee = event.result as XML;

        Tracy

        
        
________________________________


        From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of markgoldin_2000
        Sent: Wednesday, January 02, 2008 12:59 PM
        To: [email protected]
        Subject: [flexcoders] Re: Two way binding

        Are you talking about something like this:
        <?xml version="1.0"?>
        <!-- Models\XMLBinding.mxml -->
        <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml> ">
        <mx:XML id="myEmployee" format="e4x">
        <employee>
        <name>
        <first>{firstName.text}</first>
        <last>{lastName.text}</last>
        </name>
        <department>{department.text}</department>
        <email>{email.text}</email>
        </employee>
        </mx:XML>
        <mx:TextInput id="firstName"/>
        <mx:TextInput id="lastName"/>
        <mx:TextInput id="department"/>
        <mx:TextInput id="email"/>
        </mx:Application>
        
        If it is then how do I let data from the server into this model?
        
        --- In [email protected]
<mailto:flexcoders%40yahoogroups.com> , "Tracy Spratt" <[EMAIL PROTECTED]>
wrote:
        >
        > But don't use mx:Model, that creates the nested dynamic object

        structure
        > I mentioned.
        > 
        > 
        > 
        > Use mx:XML, or use an instance variable typed as XML, and
assign it 
        in a
        > result handler.
        > 
        > 
        > 
        > Tracy
        > 
        > 
        > 
        > ________________________________
        > 
        > From: [email protected]
<mailto:flexcoders%40yahoogroups.com>  
        [mailto:[email protected]
<mailto:flexcoders%40yahoogroups.com> ] On
        > Behalf Of mark goldin
        > Sent: Monday, December 31, 2007 1:18 PM
        > To: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > Subject: RE: [flexcoders] Two way binding
        > 
        > 
        > 
        > Let me make sure I understand.
        > 
        > You are talking about something like this:
        > 
        > 
        > 
        > <?xml version="1.0"?>
        > <!-- Models\ModelTagEmptyString.mxml -->
        > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml
<http://www.adobe.com/2006/mxml> "
        > layout="absolute">
        > <mx:Model id="employeemodel" source="httpmodelsource">
        > </mx:Model> 
        > </mx:Application>
        > where httpmodelsource returns the following xml:
        > 
        > 
        > 
        > <employees>
        > <employee>
        > <name>John Doe</name>
        > <phone>555-777-66555</phone>
        > <email>[EMAIL PROTECTED]</email>
        > <active>true</active>
        > </employee>
        > <employee>
        > <name>Jane Doe</name>
        > <phone>555-777-66555</phone>
        > <email>[EMAIL PROTECTED]</email>
        > <active>true</active>
        > </employee>
        > </employees>
        > 
        > 
        > 
        > Tracy Spratt <[EMAIL PROTECTED]> wrote:
        > 
        > Simplicity. Less code. Maintainability. Standardization, 
        well
        > known API. 
        > 
        > Note that in the scenario I describe, the simplicity produces 
        a
        > dependency between the client data model and the data
transport. If
        > someone changes the XML you are consuming, you will have to
change 
        the
        > code. For some this is unacceptable and they require level of
        > abstraction between the transport and the model. It is just up
to 
        your
        > particular requirements.
        > 
        > Tracy
        > 
        > 
        > 
        > ________________________________
        > 
        > 
        > From: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > [mailto:[email protected]
<mailto:flexcoders%40yahoogroups.com> ] On Behalf Of mark goldin
        > Sent: Monday, December 31, 2007 12:36 PM
        > To: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > Subject: RE: [flexcoders] Two way binding
        > 
        > Aha, I see. Why would you suggest am xml based model over a
        > class based one?
        > 
        > Tracy Spratt <[EMAIL PROTECTED]> wrote: 
        > 
        > By "dataModel", are you referring to the ShoppingCart
        > class you posted? You have to put the data into it. Get the
data 
        from
        > the server, however you wish, and in the result handler,
assign the 
        data
        > to an instance of the data model class, using the methods or 
        properties
        > it provides. Then bind the form elements to propeties in the
model.
        > 
        > Now, I would suggest using an XML object instance as 
        the
        > data model. In the result handler, assign the result xml to an

        instance
        > variable typed as XML. Then bind the form elements to that:
        > 
        > <mx:Text [EMAIL PROTECTED]
        > <mailto:[EMAIL PROTECTED]> ...?>
        > 
        > Tracy
        > 
        > 
        > 
        > ________________________________
        > 
        > 
        > From: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > [mailto:[email protected]
<mailto:flexcoders%40yahoogroups.com> ] On Behalf Of mark goldin
        > Sent: Monday, December 31, 2007 11:45 AM
        > To: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > Subject: RE: [flexcoders] Two way binding
        > 
        > I am probably a complete dumb. But dataModel does not
        > have dataProvider property. How do I pull data into model
then?
        > 
        > Tracy Spratt <[EMAIL PROTECTED]> wrote: 
        > 
        > Or the short answer, the same way you got the
        > data into the dataProvider for the DataGrid.
        > 
        > Tracy
        > 
        > 
        > 
        > ________________________________
        > 
        > 
        > From: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > [mailto:[email protected]
<mailto:flexcoders%40yahoogroups.com> ] On Behalf Of Douglas Knudsen
        > Sent: Monday, December 31, 2007 10:22 AM
        > To: [email protected]
<mailto:flexcoders%40yahoogroups.com> 
        > Subject: Re: [flexcoders] Two way binding
        > 
        > That's a wholly different thread. You would 
        use
        > WebService, HTTPservice, or RemoteObject to perform some sort
of 
        server
        > call. Take a look at the docs on these tags and also at the 
        examples on
        > Adobe.com <http://adobe.com/ <http://adobe.com/> > . For a
ColdFusion based example, 
        you can
        > check this out
        > 
        >
http://www.acfug.org/index.cfm?fa=meetings.meetingdetail&EventID=177
<http://www.acfug.org/index.cfm?fa=meetings.meetingdetail&EventID=177> 
        > <http://www.acfug.org/index.cfm?
<http://www.acfug.org/index.cfm?> 
        fa=meetings.meetingdetail&EventID=177> 
        > 
        > DK
        > 
        > On Dec 31, 2007 10:14 AM, mark goldin
        > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > wrote:
        > 
        > And how data from server gets into the Model?
        > 
        > 
        > 
        > Douglas Knudsen <[EMAIL PROTECTED]
        > <mailto:[EMAIL PROTECTED]> > wrote: 
        > 
        > What's wrong with this?
        > <mx:TextInput text="{
        > someReferenceToAModel.property }" />
        > 
        > Now, you can use the Binding tag to 
        bind
        > the value in the above back to the source, your datagrid in
this 
        case,
        > but its not really a good idea, though YMMV. 
        > 
        > DK
        > 
        > On Dec 31, 2007 9:33 AM, 
        markgoldin_2000
        > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > wrote:
        > 
        > I am trying to figure out what both 
        ways
        > of data binding are.
        > Basically we have two subjects for 
        data
        > binding: DataGrid and a Form. 
        > With DataGrid it is pretty clear:
        > dataProvider. But with form? It 
        > does not have such a dataProvider
        > property (Which is in my opinion it 
        > should have). So, what's a solution 
        for
        > that? DataModel? Which it 
        > turn does not have dataProvider 
        either.
        > But it does have a source. 
        > Source of what? Data? Ok, let's stick 
        to
        > dataModel. But then I am 
        > reading that it's better to use
        > class-based models. Here is an 
        > example of class-based model form 
        Help:
        > package
        > {
        > 
        > [Bindable]
        > public class ShoppingCart {
        > public var items:Array = [];
        > 
        > public var total:Number = 0;
        > 
        > public var shippingCost:Number = 0;
        > 
        > public function ShoppingCart() {
        > }
        > 
        > public function addItem(item:Object,
        > qty:int = 1,
        > index:int = 0):void {
        > items.splice(index, 0, { id: item.id
        > <http://item.id/ <http://item.id/> > ,
        > name: item.name <http://item.name/ <http://item.name/> > ,
        > description: item.description,
        > image: item.image,
        > price: item.price,
        > qty: qty });
        > total += parseFloat(item.price) * qty;
        > }
        > 
        > public function
        > removeItemAt(index:Number):void {
        > total -= parseFloat(items
        [index].price)
        > * items[index].qty; 
        > items.splice(index, 1);
        > if (getItemCount() == 0)
        > shippingCost = 0;
        > }
        > 
        > public function getItemCount():int {
        > return items.length;
        > }
        > 
        > public function getTotal():Number {
        > return total;
        > }
        > }
        > }
        > 
        > Two questions:
        > 1. How the data is getting into a
        > picture here?
        > 2. How am I using this model in my 
        mxml
        > file?
        > 
        > Sorry if I am asking something 
        obvious,
        > but I am just having problem 
        > understanding why data-centric
        > environment does not have a straight 
        > way of binding data both ways. All I
        > would want is to assign a data 
        > source to my form and then specify 
        data
        > fields for each control in 
        > the form. Simple as this. Is this
        > possible in Flex? 
        > 
        > Thanks
        > 
        > 
        > 
        > 
        > 
        > 
        > 
        > -- 
        > Douglas Knudsen
        > http://www.cubicleman.com <http://www.cubicleman.com/> 
        > <http://www.cubicleman.com/ <http://www.cubicleman.com/> > 
        > this is my signature, like it? 
        > 
        > 
        > 
        > 
        > -- 
        > Douglas Knudsen
        > http://www.cubicleman.com <http://www.cubicleman.com/> 
        > <http://www.cubicleman.com/ <http://www.cubicleman.com/> > 
        > this is my signature, like it?
        >

 

 

Reply via email to