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 :

Evenement sur item dans une liste


Sujet :

Flex

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut Evenement sur item dans une liste
    Bonjour à tous,

    Existe-t-il un moyen d'agir sur un item spécifique dans une liste? Je m'explique voici l'enchainement que j'aimerais obtenir :

    Ecran 1 --> formulaire après validation on passe sur une liste ou j'affiche que le nom et le prénom --> Ecran 2

    maintenant je voudrais que lorsque l'utilisateur clique sur un item de la liste le détail apparaisse cad le nom et le prénom ainsi que l'age, la date de naissance, et le sexe.

    j'ai réussi à obtenir cette enchainement mais mon souci c'est que j'utilise l'évènement clique de ma liste comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mx:Canvas label="Liste" width="100%" height="100%" id="List" click="zoomDetail()">
    la méthode zoomDetail() me permet uniquement de changer d'écran et de basculer sur mon dataGrid. le souci c'est je veux afficher dans le datagrid les propriétés de l'item sur lequel j'ai cliqué et uniquement celui-ci alors que la je vois tous les items.

    merci

    Bilou

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Salut,

    Tu peux par exemple créer 2 itemRenderer pour ta liste, un représentant la vue minimale et l'autre la vue détaillées. Ensuite, il te suffit de switcher avec des états (states) entre les 2 itemrenderer

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut
    Hello,

    merci pour ton aide.

    c'est une bonne solution le seul souci c'est qu'en fait je ne sais pas comment appelé un itemRenderer dans le mxml.

    Malgré toute la doc sur le sujet j'ai du mal avec les Custom itemRenderer.

    en fait j'ai étendu la classe itemRenderer. Ensuite j'ai voulu surcharger la méthode set data() a priori c'est ce qu'il faut faire du moins c'est ce que j'ai compris mais dis moi si je me trompe. c'est dans cette méthode set data que tu fais les bon affichages apparemment.

    au moment ou je veux surchargé la méthode il me dit override incompatible.
    voilà où j'en suis dans ma démarche. que faut-il faire? dois-je procéder différemment? Est-ce que je suis dans une bonne logique?

    merci

    Bilou69

  4. #4
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Montre ton code ça sera plus facile pour nous.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut
    Re,

    j'ai résolu une partie du pb l'override était impossible parce que comme d'habitude je ne respectais pas la signature de la méthode set data. je voulais retourner un String alors qu'il faut retourner void.

    voilà le code de la classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    	import mx.controls.List;
     
    	public class myItemRenderer extends List {
     
    		public function myItemRenderer() {
    			super();
    		}
    		override public function set data(value : Object) : void {
    			super.data=value;
    			if (value!=null){
    				// traitement pour l'affichage
    			}else{
    				this.invalidateDisplayList();
    			}
    		}
    	}
    }
    mon souci c'est que je ne vois pas comment traiter l'affichage en fait.

    merci

  6. #6
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    N'oublie pas le tag résolu dans ce cas

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut
    je mettrai le tag résolu qd j'aurai complété le traitement de l'affichage

    @ très vite

    merci

  8. #8
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Je n'avais pas tout lu dans ta réponse mais j'ai plusieurs remarques :
    - Pour la création de ton itemRenderer tu as plein d'exemple sur internet en voici un par exemple : http://www.adobe.com/devnet/flex/qui...tem_renderers/ (c'est le chapitre : Using a component as an item renderer).

    Tu peux aussi passer par du MXML si tu débutes ce sera peut être plus facile pour toi.

    Ensuite Jim_Nastiq t'as parlé d'états pour passer d'un état normal à zoom, voici la doc : http://www.adobe.com/devnet/flex/qui...eating_states/

    Donc en fait ton itemrenderer va simplement passer d'un label à une liste selon son état. Lors du set data tu vas sois remplir le texte du label soit le dataProvider de la liste.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut
    Bonjour à tous ,

    je vais considérer que mon pb est résolu car la solution Jim_nastiq me l'a donnée. Je bloque sur la création d'un itemRenderer je pense que c'est la base en flex donc je vais déjà commencer par là...

    D'ailleurs à ce propos j'ai vu qu'il y avait bcp de doc sur le sujet mais connaissez-vous un tutoriel relativement simple pour commencer avec les itemRenderer ?


    Existe-t-il un moyen de le faire uniquement en AS3 sans passer par le mxml?
    Faut-il créer un composant en mxml et ensuite l'étendre en AS3 pour des traitements particuliers?

    pour faire résumer je souhaiterai connaitre la meilleure pratique selon vous.

    merci à tous

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut
    Merci à toi ellene je n'ai pas vu ton dernier post je vais étudier toutes les sources que tu m'as envoyé.

    Tu penses que je suis encore trop novice pour la création d'un itemRenderer en As3? parce que je vais t'avouer que j'aimerais bien comprendre le mécanisme de A à Z de la création de celui-ci jusqu'à son utilisation finale.

    merci

  11. #11
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Je ne connais pas ton niveau mais nous passons tous par l'apprentissage un jour ou l'autre. Commence par des exemples simples d'abord, c'est à dire la doc officielle, le component explorer il y a également PhilFlash qui fournit énormément d'exemples sur les itemRenderer. Il faut juste un peu de patience et de persévérance et surtout ne pas vouloir faire la grosse appli tout de suite mais commencé par des petits bouts.
    Bon courage

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Points : 37
    Points
    37
    Par défaut
    Je vais suivre ton conseil

    merci pour ta patience et pour ton soutien

    a très vite ...

    bilou69

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/05/2015, 13h40
  2. Réponses: 0
    Dernier message: 13/03/2008, 08h51
  3. [VB6] Double click d'un item dans une list...
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/04/2006, 18h56
  4. Selectionner automatiquement un item dans une liste
    Par nebule dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/12/2004, 17h03
  5. Réponses: 2
    Dernier message: 17/08/2003, 20h07

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