IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Problème rafraichissement form - MVC


Sujet :

Flex

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Par défaut Problème rafraichissement form - MVC
    Bonjour à tous,

    J'ai un petit problème étrange dans mon application Flex. J'utilise un découpage de mon application histoire de respecter les "best practice" MVC càd que j'ai mes composants MXML d'un côté, un contrôleur pour chaque composant et un modèle.
    Il se trouve que dans un de mes composants MXML j'ai un formulaire que je met à jour via mon controleur (principalement des TextInput). Mais lors de l'exécution, les champs de mon formulaire ne sont pas affichés correctement, ils contiennent toujours les valeurs précédentes. Et là ou c'est bizarre c'est que quand je clique sur les différents champs du formulaire, la nouvelle valeur apparait !
    Lorsque j'utilise le débugger je vois que les valeurs sont bien attribuées aux attributs text de mes TextInput, il ne sont juste pas "rafraichis"...

    Est-ce que quelqu'un a déjà eu ce problème ou aurait une idée de la manière de le résoudre?

    Merci d'avance pour votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Tu utilises le data binding pour le rafraichissement ? Si oui sache qu'il n'est fait que dans un sens si tu utilises les accolades. Sache qu'un petite recherche avec pour mots clés "formulaire databinding" t'aurais aidé bien plus rapidement : http://www.developpez.net/forums/d78...ng-formulaire/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Par défaut
    Merci pour ta réponse!

    Ce n'est pas vraiment ça mon problème puisque je n'ai de toute façon besoin que d'un binding dans un sens (objet -> formulaire). Comme je l'ai dit, lorsque je débugge, je vois que les attributs text de mes TextInput sont mis à jour en interne mais pas affichés... Je fais cette mise à jour de cette manière dans mon controlleur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    maVue.name.text = MonModel.getInstance().selectedPerson.name;
    maVue.firstname.text = MonModel.getInstance().selectedPerson.firstname;
    ...
    Ce code est appelé dans l'événement show() de ma vue de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mx:Canvas... show="monController.showHandler()"...>
    Je procède de cette manière car ma liste d'objet est dans une vue et mon formulaire de modification est dans une autre...

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Pourrais tu être plus précis sur la cinématique ?
    Quand tu parles de mis à jour c'est par rapport à quoi ? La sélection d'un élément ? un clic sur un bouton ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 20
    Par défaut
    Voici comment ça se passe :

    Sur une première vue j'ai un DataGrid qui contient des données (mappé sur un Array d'objets). Sur cette même vue j'ai un bouton "Modifier" qui me permet de modifier l'élément sélectionné. Toujours sur cette première vue, chaque fois qu'on sélectionne un élément je sauve l'objet correspondant dans une variable de mon modèle.

    Lorsqu'on clique sur le bouton de modification, je change de vue pour me retrouver sur une vue contenant un formulaire qui reprend tous les champs de l'objet à modifier. L'idée est évidemment d'initialiser tous les champs avec les valeurs de propriétés de l'objet. Et c'est là que ça coince, lors de la première pression sur le bouton modifier je vois bien les bonnes valeurs dans mon formulaire mais si je reviens à ma liste, que je sélectionne un autre élément et que je clique "Modifier" alors je vois les données précédentes... Alors qu'au niveau du debug les champs on été bien initialisés.

    Est-ce que c'est plus clair?

  6. #6
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut Class PropertyChangeEvent
    Bonjour je me rappelle sur un projet que j'ai eu la même chose que toi, il me semble que j'ai du utiliser l'évènement changeProperty pour dire justement que j'ai un changement dans tel propriété de mon composant pour qu'il affiche la nouvelle valeur

    c'est une piste à creuser

    Bon courage
    Samy

  7. #7
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Salut,

    as-tu essayé la méthode 'refresh()' ?
    ..et d'envoyer tes propres event ? (pour le coup, c'est un peu recoder la roue ..)

Discussions similaires

  1. problème de form...
    Par Empty_body dans le forum Langage
    Réponses: 7
    Dernier message: 12/01/2006, 10h21
  2. Problème ouverture form à partir d'une var
    Par priest69 dans le forum Access
    Réponses: 1
    Dernier message: 29/11/2005, 12h21
  3. [STRUTS]Problème de form
    Par sqlnet dans le forum Struts 1
    Réponses: 5
    Dernier message: 07/10/2005, 12h37
  4. [HTML] Problème de Form(s)
    Par Ghusse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 21/09/2005, 08h24
  5. [ASP]Problème de form en html
    Par DEC dans le forum ASP
    Réponses: 2
    Dernier message: 16/08/2004, 20h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo