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 :

Selection ligne Datagrid


Sujet :

Flex

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 189
    Points
    189
    Par défaut Selection ligne Datagrid
    Bonjour,

    J'ai un petit problème. En fait, l'utilisateur a le droit de cliquer sur les lignes de mon datagrid ( ce qui entraine le chargement de donnée dans un onglet), mais j'aimerais lui poser la question "Etes vous sur de vouloir changez d'objet à visualiser" avant de mettre à jour l'onglet. Si il clique sur non, l'onglet n'est pas mis à jour.

    Mon problème est que l'utilisateur clique sur la ligne, le message s'affiche bien mais la ligne est sélectionnée. Il me faudrait un évènement avant que la ligne soit sélectionnée ou encore un moyen de resélectionner l'ancienne ligne pour que l'utilisateur sache quel objet est en cours de visualisation.

    J'espère m'être exprimé assez clairement pour me faire comprendre.

    Merci!

  2. #2
    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
    Citation Envoyé par bobkilla Voir le message
    Mon problème est que l'utilisateur clique sur la ligne, le message s'affiche bien mais la ligne est sélectionnée.
    Tu veux dire sélectionner je suppose ?

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 189
    Points
    189
    Par défaut
    La ligne qui était sélectionnée est désélectionnée et la ligne sur laquelle l'utilisateur a cliqué est sélectionnée.

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

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

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

    si j'ai bien compris, tu veux intercepter l'event 'itemClick' qui induit un changement de couleur de la ligne selectionnée, et revenir à la ligne précédemment séléctionnée ?

    Plus précisément, veux-tu :
    - que la ligne précédemment sélectionnée reste sélectionnée, bien qu'il y ait un nouveau click sur une nouvelle ligne?
    - ou que lorsque l'on clique sur la nouvelle ligne, celle-ci soit sélectionnée, mais qu'à la fermeture de la popup on selectionnne l'ancienne ligne ?

    ... ou bien ce n'est pas du tout ça et ma question devient alors la même que celle d'Ellene ?

    [EDIT] : désolé j'arrive juste après ton post
    N'oubliez pas avant de poster :

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 189
    Points
    189
    Par défaut
    Il faut que:

    - la ligne précédemment sélectionnée reste sélectionnée, bien qu'il y ait un nouveau click sur une nouvelle ligne (Lorsque l'utilisateur clique sur non)

    mais lorsqu'il clique sur Oui, la ligne soit sélectionnée normalement.

    J'ai essayé d'utiliser plusieurs évenement : itemclick, click, mousedown et à chaque fois, l'évènement arrive après que la ligne soit sélectionnée dans le datagrid.

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

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    Par défaut
    S'il n'y a pas de meilleure solution (i.e. une méthode plus simple déjà prévue au niveau des events de la datagrid), il faut en fait que tu intercepte l'évènement lancé par la datagrid, et que tu stoppes les évènements en cours.

    Plus clairement :
    - places un MouseEvent sur la datagrid
    - une fois dispatché, vérifie que tu as cliqué sur une ligne de la datagrid
    - si c'est le cas, stoppe la propagation des évènements
    - sinon tu ne fais rien

    Le code ressemblerait à peu près à ça (attention, écrit à la volée) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private function init() :void 
    {
          mydatagrid.removeEventListener(MouseEvent.CLICK, interceptClick,true);
    }
     
    private function interceptClick(evt:MouseEvent) :void 
    {
         if (evt.target.getObjectsUnderPoint	() != null)  //à vérifier
         {   
              evt.stopImmediatePropagation();
         }
    }
    Je ne promets pas que la condition du if fonctionne ( if (evt.target.getObjectsUnderPoint() != null) ), mais la solution doit s'en approcher.

    ça peut être une façon de faire.
    N'oubliez pas avant de poster :

  7. #7
    Membre averti 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
    Points : 310
    Points
    310
    Par défaut
    Bonjour, Je pense que c'est normale que la ligne soit sélectionnée le but est de revenir à l'état précedent l'evenemnt click

    a mon avis :

    - il faut commencer par sauvegarder la ligne anciennement selectionné dans une variable accessible par tout dans ta classe

    - si l'utilisateur click sur non appel de la methode commitProperties();

    - dans la focntion comitProperties()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    override protected function commitProperties():void
    {
               super.commitProperties();
    	   tonDG.setStyle("selectionColor", "#dde7ee");
    	   if (tonDG ) 
               {
    	  	var array : Array = new Array();
    		array.push(variable contenant l'ancienne ligne);
    	   }
     
    	   tonDG.selectedItems = array;
    }
    j'espere que ça va t'aider un peu
    bon courage
    Samy
    http://www.m-ataf.com (En cours de construction)

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 189
    Points
    189
    Par défaut
    J'ai essayé les deux solutions mais je ne suis pas arrivé à mettre en oeuvre la première. Merci quand même Krazymins.

    J'avais pensé aux deux types de solutions mais ça ne fonctionnait pas. En faisant exactement comme tu as fait samy2525, ça fonctionne donc merci beaucoup !

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

Discussions similaires

  1. [VB.net] Changer couleur ligne DataGrid
    Par bguihal dans le forum Windows Forms
    Réponses: 7
    Dernier message: 22/07/2016, 06h54
  2. selection ligne datagrid
    Par WBO dans le forum VB.NET
    Réponses: 4
    Dernier message: 29/12/2008, 16h38
  3. Datagrid de VB6 ? "mono-selection" ligne
    Par seyiv dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/05/2007, 16h26
  4. datagrid selection ligne
    Par jedi186 dans le forum VB.NET
    Réponses: 7
    Dernier message: 21/04/2007, 23h13

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