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 :

Tester la selection des lignes dans un dataGrid


Sujet :

Flex

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut Tester la selection des lignes dans un dataGrid
    Salut tout le monde,

    Comment on peut tester qu'aucune ligne n'est selectionnée dans un dataGrid?

    Merci d'avance pour vos réponses.

    Cordialement.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Points : 156
    Points
    156
    Par défaut
    J'ai pas essayé mais j'imagine qu'un test comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonDataGrid.selectedItem == null
    doit te dire qu'aucun élément n'est sélectionné dans ton DataGrid.

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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,

    Sinon tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonDataGrid.selectedIndex == -1

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut
    Merci pour vos réponses.

    La solution semble facile et intuitive, j'ai même dèjà essayé "dataGrid.selectedIndex == -1" mais pourtant je reçois le message d'erreur suivant pour les deux solutions proposées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Index '-1' specified is out of bounds

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut
    C'est reglé, il y'avait un petit problème de logique au niveau de mon code mais maintenant ça marche très bien avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tonDataGrid.selectedIndex == -1
    Merci pour vos réponses.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Points : 156
    Points
    156
    Par défaut
    Je viens d'essayer avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tonDataGrid.selectedItem == null
    Ca marche bien.

    La preuve :

    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
    19
    20
    21
    22
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:calendar="fr.sib.sillage.components.calendar.*" 
    	backgroundColor="0xFFFFFF" creationComplete="init()" xmlns:local="*">
    	<mx:Script>
    		<![CDATA[
    			import mx.controls.Alert;
     
    			public function toto():void{
    				Alert.show(new String(dataGridTemp.selectedItem == null));
    			}				
    		]]>
    	</mx:Script>
     
    	<mx:Array id="listeObjets">
    		<mx:Object data="1" label="toto"/>
    		<mx:Object data="2" label="tutu"/>
    	</mx:Array>	
    	<mx:DataGrid dataProvider="{listeObjets}" id="dataGridTemp"/>
     
    	<mx:Button click="toto();"/>
    </mx:Application>
    Ton problème doit venir d'ailleurs.

    Charles.

    Edith : Ok le problème venait bien d'ailleurs

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    Pourtant ça devrait fonctionner :
    http://livedocs.adobe.com/flex/3/lan...#selectedIndex

    Le problème doit venir d'autre part

    [EDIT] Ok le problème venait d'ailleurs ²

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    Par défaut
    Oui j'avais un problème de logique au niveau de mon code, j'ai essayé aussi les deux solutions et ça marche bien.
    Merci encore pour vos réponses ^^

  9. #9
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    Par contre, sans vouloir dire de bêtise il me semble que la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datagrid.selectedIndex == -1
    est plus secure.

    Je met ce commentaire entre gros guillemets, car le sujet peux porter à discussion, mais disons que dans un cas tu démontre qu'une propriété n'est pas vrai, et dans l'autre cas tu démontres qu'elle est fausse.
    Bon, c'est un peu tiré par les cheveux, mais au moins en montrant qu'elle est fausse, tu pares à toute éventualité.

    D'ailleurs dans la doc , pour 'selectedIndex', on a :
    The default value is -1 (no selected item).
    et pour 'selectedItem' :
    The default value is null.
    ça n'induit pas forcément qu'il n'y a pas d'Item sélectionné. Il faut quand même avouer que ca y ressemble, mais ce n'est qu'implicite.
    Donc par sécurité, j'utiliserais quand même 'selectedIndex', au moins tu seras sûr du résultat.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    car le sujet peux porter à discussion
    Allons y...

    Je comprends pas du tout ce doute ! Il n'a aucune raison d'être, sinon cela traduirait un code aléatoire

    Les deux propriétés selectedIndex et selectedItem marchent ensemble.

  11. #11
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    Attention, comme je l'ai dit j'ai mis des 'gros guillemets' autour de ce post.

    Ici il s'agit de pur sémantique, on est d'accords que les expressions sont identiques, mais pour moi c'est plus logique d'utiliser
    Et enfin je le répète :
    c'est un peu tiré par les cheveux

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    oui enfin tu écris bien :

    Donc par sécurité, j'utiliserais quand même 'selectedIndex', au moins tu seras sûr du résultat.
    c'est donc pas juste une question de logique mais parce que tu penses qu'il peut exister des cas où selectedIndex est différent de -1 ET selectedItem est nul.

    Si dans la doc il n'est pas précisé pour la propriété selectedItem :
    The default value is null. (no selected item)
    C'est simplement pour éviter le pléonasme. Si la propriété selectedItem est nulle cela implique en toute logique qu'il n'y a pas d'item sélectionné, c'est inutile de le préciser.

    Enfin bon c'est juste histoire de passer un moment

  13. #13
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    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
    Citation Envoyé par jylaxx Voir le message
    oui enfin tu écris bien :
    Donc par sécurité, j'utiliserais quand même 'selectedIndex', au moins tu seras sûr du résultat.
    c'est donc pas juste une question de logique mais parce que tu penses qu'il peut exister des cas où selectedIndex est différent de -1 ET selectedItem est nul.
    Nous sommes d'accords que le cas ne peut pas arriver. Mais je t'avoue que ça m'est arrivé de m'arracher les cheveux sur des bugs du framework quelquefois. Aussi dorénavant, je me pose moins de questions et je préfère aborder les choses dans le sens "prouver que c'est faux", plutôt que "prouver que ce n'est pas vrai". Ne serait-ce que dans la démarche, je trouve ça plus clair quand tu repasses sur ton code derrière.

    Mais nous sommes entièrement d'accords, les 2 lignes sont semblables.


    Citation Envoyé par jylaxx Voir le message
    Si dans la doc il n'est pas précisé pour la propriété selectedItem :

    C'est simplement pour éviter le pléonasme. Si la propriété selectedItem est nulle cela implique en toute logique qu'il n'y a pas d'item sélectionné, c'est inutile de le préciser.
    ok pour ça

    Citation Envoyé par jylaxx Voir le message
    Enfin bon c'est juste histoire de passer un moment
    Tout à fait

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Points : 156
    Points
    156
    Par défaut
    J'suis carrément complètement d'accord avec vous. J'aurais pas dit mieux

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

Discussions similaires

  1. Masquer des lignes dans un datagrid
    Par giraud vias dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/01/2011, 08h39
  2. Ajouter des lignes dans un datagrid
    Par gibea00 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/07/2007, 14h20
  3. l'ordre des lignes dans un Select
    Par comment_ca dans le forum Oracle
    Réponses: 15
    Dernier message: 05/10/2006, 12h08
  4. [C#] Sélection de lignes dans un DataGrid
    Par wayak3 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/07/2005, 11h17
  5. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 19h15

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