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 :

bindable en actionScript


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut bindable en actionScript
    Bonjour,

    J'ai essayé de faire un label bindable directement en AS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [Bindable]
    private var test:String ="";
     
    var label = new Label();
    label.text=test;
    hbox.addChild(label);
    ...
    Cependant, cela ne marche pas, alors que d'habitude quand je fais la même chose en mxml, le label est bien bindable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:Label text="{test}"/>
    Dois-je procéder autrement ?

  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
    Bonjour,

    lorsque tu fais
    Tu ne binde pas tu ne fais que donner une valeur.

    Pour binder il faut utiliser le BindingUtils.

    ++

  3. #3
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    J'avoue que je galère un peu à comprendre vraiment le BindingUtils avec la doc.

    Le truc c'est que le BindingUtils je ne vois pas comment on l'utilise quand on fait les éléments en dynamique.

    J'ai l'impression qu'on fournit l'id dans le host, donc, je dois rajouter label.id=testId, mais apres il me dit qu'il n'y a pas de propriété text pour une String quand je fais ca:

    BindingUtils.bindProperty("testId","text", ds,"data");

    J'ai donc, a la place de mis "testId", directement le label. La ca passe a l'execution, mais ca ne marche pas.

    Une idée ?

    PS: passer par une variable à la place du ds,"data" m'aurait aussi arrangé. ( mais si je m'en tiens à la conclusion de ce post, c'est impossible: http://www.developpez.net/forums/d78...onne-mxml-as3/ )

  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
    Tu as utilisé la méthode bindSetter de BindingUtils?

  5. #5
    SrK
    SrK est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Par défaut
    J'ai le même problème qu'avec le bindProperty ( j'ai testé les deux )

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Par défaut
    Citation Envoyé par SrK Voir le message
    J'avoue que je galère un peu à comprendre vraiment le BindingUtils avec la doc.

    Le truc c'est que le BindingUtils je ne vois pas comment on l'utilise quand on fait les éléments en dynamique.

    J'ai l'impression qu'on fournit l'id dans le host
    Eh bien non c'est la référence de l'objet donc "this" dans ce cas
    , donc, je dois rajouter label.id=testId, mais apres il me dit qu'il n'y a pas de propriété text pour une String quand je fais ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BindingUtils.bindProperty("testId","text", ds,"data");
    J'ai donc, a la place de mis "testId", directement le label. La ca passe a l'execution, mais ca ne marche pas.

    Une idée ?

    PS: passer par une variable à la place du ds,"data" m'aurait aussi arrangé. ( mais si je m'en tiens à la conclusion de ce post, c'est impossible: http://www.developpez.net/forums/d78...onne-mxml-as3/ )
    Rq : il n'y a pas de propriété text dans un String !!!

    ensuite d'après la doc :
    bindProperty(site:Object, prop:String, host:Object, chain:Object, commitOnly:Boolean = false):ChangeWatcher
    [static] Binds a public property, prop on the site Object, to a bindable property or property chain.
    Tu dois donc plutôt faire dans l'esprit (j'ai pas tout compris à tes variables mais ce serait plutôt dans cet esprit) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BindingUtils.bindProperty(this,"testId", ds,"data");

Discussions similaires

  1. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  2. [FLASH MX2004] Actionscript et ScrollPane
    Par meslaey dans le forum Flash
    Réponses: 20
    Dernier message: 10/07/2005, 03h20
  3. Réponses: 5
    Dernier message: 14/04/2004, 14h39
  4. [Flash MX 2004] actionscript et musique
    Par WriteLN dans le forum Flash
    Réponses: 5
    Dernier message: 20/01/2004, 16h36
  5. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11

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