what is the "field" is nested in another object such as:

model.userState.currentUser.username

I can pass the field "username" but how to I indicate that the field is in model.userState.currentUser?

someone else was saying that I might be able to pass "model.userState.currentUser" as one property "source" and then the field as "fld".

I would then try to call this in the Command:  source[fld] = someData;

I haven't tried this yet, but I will let you know if that works.

- Kevin

On Mar 13, 2007, at 1:50 PM, Dimitrios Gianninas wrote:


with the event that is broadcast to execute the command, pass the field in the ML that is being updated, that should do it if I understand correctly.

Dimitrios Gianninas
Developer
Optimal Payments Inc.


From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Kevin
Sent: Tuesday, March 13, 2007 2:17 AM
To: [email protected]
Subject: [flexcoders] Pass ModelLocator reference to Command?

Here is where I am struggling. I have created a component extended
from the TextInput field to update certain fields in my database.

The text property of the TextInput class is bound to a value form the
ModelLocator. When this value is changed (focusOut event) a general
command is sent to the database with an id that indicates which
database field should be updated. The update happens and a 'success'
result is returned to the Command. The idea is that fields are
updated as the user tabs rather than using a 'submit' button.
Everything is working well up to this point, until....

On a successful database update, I can't figure out a way to update
the modelLocator from the Command. Since this is a generic Command I
need to be able to dynamically tell the Command which ModelLocator
property to update on which call. Here are the solutions I have
thought of but I can't seem to get anything working.

1) Pass a reference to the ModelLocator property that needs updating
and then update that reference in the Command. Unfortunately, I
can't figure out how (and if I even can) pass a true reference to the
Command. It seems that everything I try just get passed as a string.

2) Pass a string to the Command that can be parsed into a ML
reference. This can work...sometimes on simple VO's, but gets very
complicated with nest VO's in ArrayCollections. I am not sure there
is an easy way to do this...

3) Create some sort of hash map or array map that maps certain
'codes' to ModelLocator properties. This seems rather brittle & time
consuming.

4) Create 2-way binding using the Binding class. I was able to do
this and make it work, however, I couldn't find a way to do it
dynamically, where the 'destination' property could be a variable and
not a string. Also, I could only set this while in the view, which
means, the ModelLocator would get updated before it was confirmed
that the server update was successful. Obviously this is a little
dangerous.

I am out of ideas, but I still think there must be a way to achieve
this. Any thoughts???

Thanks for the help,

Kevin

AVIS IMPORTANT

WARNING

Ce message électronique et ses pièces jointes peuvent contenir des renseignements confidentiels, exclusifs ou légalement privilégiés destinés au seul usage du destinataire visé. L'expéditeur original ne renonce à aucun privilège ou à aucun autre droit si le présent message a été transmis involontairement ou s'il est retransmis sans son autorisation. Si vous n'êtes pas le destinataire visé du présent message ou si vous l'avez reçu par erreur, veuillez cesser immédiatement de le lire et le supprimer, ainsi que toutes ses pièces jointes, de votre système. La lecture, la distribution, la copie ou tout autre usage du présent message ou de ses pièces jointes par des personnes autres que le destinataire visé ne sont pas autorisés et pourraient être illégaux. Si vous avez reçu ce courrier électronique par erreur, veuillez en aviser l'expéditeur.

This electronic message and its attachments may contain confidential, proprietary or legally privileged information, which is solely for the use of the intended recipient. No privilege or other rights are waived by any unintended transmission or unauthorized retransmission of this message. If you are not the intended recipient of this message, or if you have received it in error, you should immediately stop reading this message and delete it and all attachments from your system. The reading, distribution, copying or other use of this message or its attachments by unintended recipients is unauthorized and may be unlawful. If you have received this e-mail in error, please notify the sender.




Reply via email to