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 :

Datagrid avec Suivant et precedent (SelectedLine non visible) [Flex4]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 244
    Par défaut Datagrid avec Suivant et precedent (SelectedLine non visible)
    Bonjour,

    dans mon projet, j'ai une dataGrid et des boutons "Suivant" et "précédent" me permettant de naviguer dans celle-ci.

    Le souci est le suivant :
    Je peux visualiser 8 lignes dans ma DTG.
    Lorsque mon dataProvider contient plus de 8 lignes, j'ai la scroll bar verticale qui s'affiche.
    Mon bouton "Suivant" me permet de sélectionner les lignes non visbles...

    Problème, je voudrais que via le bouton "Suivant", lorsque j'arrive sur une ligne non visible, le tableau me l'affiche. (Comme un click sur le bouton de la scroll bar).

    Existe-t-il un genre de fonction "Refresh" qui regarde le selectedItem et permet à la DTG de l'afficher?

    J'espère que je me suis bien expliqué

    Merci beaucoup

    Voici le code de mon bouton "Suivant" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private function navigateSuivant():void{
    if (dtg_Depassement_Vue.selectedIndex.toString()=="-1")
       dtg_Depassement_Vue.selectedIndex=0;
    else
       dtg_Depassement_Vue.selectedIndex=dtg_Depassement_Vue.selectedIndex + 1 ;
    }

  2. #2
    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 commitProperties
    Bonjour, si je comprends bien ton probleme tu n'arrives pas à voir des lignes de ton DG alors que ton bouton suivant te pointe bien sur la bonne ligne du DG

    le code que tu as posté tu peux le mettre dans la methode commitProperties

    ça forcera j'espere l'affichage de la ligne invisible dans la DG

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    override protected function commitProperties():void
    	{
    	    super.commitProperties();
                // ton code
             }
    Bon courage Samy

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 244
    Par défaut
    C'est exactement cela.

    La ligne dans mon dataGrid est "Surlignée" en bleue, mais je dois moi même après le click sur mon bouton, descendre l'ascenceur verticale pour le voir. Je voudrais que l'ascenceur descende automatiquement. (Comme si j'utilisais les flèche "Haut" et "Bas" de mon clavier).

    J'ai mis le code dans le commitProperties, mais cela ne fait rien. J'ai placé un "trace" dans la function, mais lorsque je clic sur mes boutons, rien n'est lancé. Peut-être l'ai-je placé à la mauvaise place?

    Voici le code un peu + détaill2.

    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
    23
    24
    25
    26
    27
    28
    29
     
    private function navigatePrecedent():void{
    dtg_Depassement_Vue.setFocus();
    if (dtg_Depassement_Vue.selectedIndex.toString()=="-1" || dtg_Depassement_Vue.selectedIndex.toString()=="0")
    	dtg_Depassement_Vue.selectedIndex=0;
    	else
    	dtg_Depassement_Vue.selectedIndex=dtg_Depassement_Vue.selectedIndex - 1 ;
     
    }
     
    private function navigateSuivant():void{
    dtg_Depassement_Vue.setFocus();
    if (dtg_Depassement_Vue.selectedIndex.toString()=="-1")
    	dtg_Depassement_Vue.selectedIndex=0;
    	else
    	dtg_Depassement_Vue.selectedIndex=dtg_Depassement_Vue.selectedIndex + 1 ; 
     
    override protected .....{
    }
     
    }
     
    <mx:DataGrid 
    width="100%" height="100%" id="dtg_Depassement_Vue">
    ----
    </DataGrid>
     
    <s:Button label="Précédent"  click="navigatePrecedent()"/>
    <s:Button label="Suivant" click="navigateSuivant()"/>

  4. #4
    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
    Je ne vois pas l'appel à la méthode

    j'aurais fais ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private function navigateSuivant():void{
     
      commitProperties()
    }
     
    override protected function commitProperties():void
    		{
    			super.commitProperties();
     dtg_Depassement_Vue.setFocus();
    if (dtg_Depassement_Vue.selectedIndex.toString()=="-1")
    	dtg_Depassement_Vue.selectedIndex=0;
    	else
    	dtg_Depassement_Vue.selectedIndex=dtg_Depassement_Vue.selectedIndex + 1 ; 
    }

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 244
    Par défaut
    C'est ce que j'ai fait,

    j'ajoute une "Trace" dans la fonction commitProperties().

    Lorsque je clique sur Suivant, il appelle bien le commitProperties, mais la scrollbar ne descend pas, je ne vois donc pas dans mon tableau la ligne sélectionnée...

  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 verticalScrollPosition
    Ok; désolé j'ai pas tout compris en regardant un peu sur le net j'ai trouvé quelque chose qui peu t'aider j'espere

    la propriété verticalScrollPosition et
    maxVerticalScrollPosition je pense que c'est deux propriétés que tu dois changer afin de voir un changement au niveau de l'affichage et non pas selectedIndex du datagrid

    Du coup l'algorithme que tu as appliqué sur le selectedIndex tu le fais sur ces deux propriétés j'ai pas trop cherché à comprendre comment ça fonctionne je te rajoute aussi un lien qui peux t'aider

    http://blog.flexexamples.com/2009/01...ntrol-in-flex/

    bon courage Samy

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

Discussions similaires

  1. Naviguer dans Datagrid avec Suivant et precedent
    Par Namson dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/06/2009, 09h10
  2. Réponses: 1
    Dernier message: 11/09/2006, 20h07
  3. Réponses: 2
    Dernier message: 20/06/2006, 16h32
  4. Réponses: 2
    Dernier message: 18/07/2005, 11h58
  5. Réponses: 4
    Dernier message: 07/12/2002, 15h24

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