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 :

problème Scroll Bar AdvancedDataGrid


Sujet :

Flex

  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 problème Scroll Bar AdvancedDataGrid
    Re Bonjour aujourd'hui.

    Je suis toujours plongé dans mon advancedDataGrid... et j'ai un souci au niveau de la "verticalScrollbar".

    Je l'affiche volontairement tout le temps. (ScrollPolicy = on).

    Elle s'affiche bien, mais est disable (Alors que mon tableau contient plus d'éléments que présentés).

    En ouvrant les premiers noeuds rien ne se passe, mais lorsque je referme un noeud, la scrollbar devient enable...??

    Quelqu'un peut-il me dire pourquoi elle n'est pas enable directement et/ou comment la rendre enable directement?

    Merci


  2. #2
    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
    Problème trouvé mais non résolu.

    Je détaille un peu:
    Après une page de recherche, j'arrive sur une nouvelle page (Nouveau composant sur un autre Etat) sur lequel j'ai une AdvancedDataGrid lié par un groupingCollection à une arrayCollection.

    Mon arrayCollection est garnie via retour d'un WebService appelé dans l'état SEARCH. La première fois que je me connecte, j'affiche correctement mes résultats dans ma dataGird AVEC la scroll bar comme il faut et ENABLE.

    Lorsque je quitte cet ETAT pour revenir vers l'ETat SEARCH et que j'effectue une nouvelle recherche. (Je vide mon ArrayCollection via RemoveALL() et je mets le nouveau résultat dans mon ArrayCollection). Quand j'arrive sur l'ETAT Résultat, mon advancedDataGird ne s'est pas mise à jour.

    Je change donc mon code pour :
    (en plus de faire un refresh du mon groupingCollection lors de l'initialize de ma DTG, en faire un ors de l'updateComplete de ma DTG).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:AdvancedDataGrid id="adg" width="100%" height="100%" color="0x323232" initialize="gc.refresh()" updateComplete="gc.refresh()">
    Lorsque je fais cela, mes nouvelles DATA s'affiche, mais là j'ai le problème de ma scroll Bar qui ne s'affiche plus (Alors qu'elle devrait). Je dois ouvrir et FERMER un nœud pour qu'elle apparaisse.

    Quelqu'un a-t-il déjà eu quelque chose de similaire?
    Que puis-je faire pour que ma DataGrid se mette à jour automatiquement?

    Help!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Salut npirard,

    J'ai le même problème et je cherche depuis un bon moment déjà...
    As-tu pu résoudre ce problème de vertical scrollbar?

    Existe-t-il un moyen de forcer l'ADG à recalculer la scrollbar ?

    Merci pour les réponses

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    as tu essayé d'invalider la liste d'affichage avec invalidateDisplayList() et d'overrider updateDisplayList() ?

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

    Je n'ai jamais été voir plus loin, car pas le temps de le projet.

    Je fais donc un expandAll suivi d'un collapseAll, ce qui recalcul les scrollBars...

    Pas très beau, mais fonctionnel.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Yes npirard !!!!!!!

    Ton
    expandAll suivi d'un collapseAll
    m'a donné l'idée de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adgv_node.expandItem(node, false);
    suivi d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    adgv_node.expandItem(node, true);
    pour stimuler l'affichage et ça fonctionne nikel

    Merci pour votre aide.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    J'ai un deuxième problème que je n'arrive pas à corriger:
    je souhaite être redirigé vers une page web lorsque je clique sur le libellé d'un noeud de mon advanceddatagrid.

    Le problème c'est qu'avec mon code actuel, dès que l'utilisateur clique, même à droite du libellé, il est redirigé (à croire que le libellé prend toute la ligne).

    Voici le code de ma vue code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <mx:AdvancedDataGrid id="adgv_node" width="100%" height='{Constant.HEIGHT}'
    						 groupItemRenderer="render.CustomGroupRenderer" 
    						 selectionMode="{Constant.ALLOW_SELECTION}"
    						 itemClose="adgv_node_itemCloseHandler(event)"
    						 dragEnabled="true"
    						 dragMoveEnabled="true">
    		<mx:dataProvider>
    			<mx:HierarchicalData source="{_node_ctl.ac_hierarchy}" />
    		</mx:dataProvider>		
    		<mx:columns>
    			<mx:AdvancedDataGridColumn id="Node" dataField="@Name" headerText="Node" />
    		</mx:columns>
     
    	</mx:AdvancedDataGrid>
    et de mon renderer:
    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
    30
    31
    32
    33
    34
    35
    36
    package render 
    {
    	import flash.display.Graphics;
    	import flash.events.MouseEvent;
    	import flash.net.URLRequest;
    	import flash.net.navigateToURL;
     
    	import mx.controls.AdvancedDataGrid;
    	import mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer;
    	import mx.controls.advancedDataGridClasses.AdvancedDataGridListData;
    	import mx.states.OverrideBase;
     
    	public class CustomGroupRenderer extends AdvancedDataGridGroupItemRenderer
    	{	
    		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    		{
    			if (listData) {
    				super.updateDisplayList(unscaledWidth, unscaledHeight);
     
    				var listData:AdvancedDataGridListData = listData as AdvancedDataGridListData;
    				var advancedDataGrid:AdvancedDataGrid = listData.owner as AdvancedDataGrid;
     
     
     
    				if (data.@isReferent == true)
    					label.htmlText = "<b><a href='http://www.google.fr'>" + label.text + "</a></b>";
    				else
    					label.htmlText = "<a href='http://www.google.fr'>" + label.text + "</a>"; 
     
    				label.addEventListener(MouseEvent.CLICK, function():void {
    					navigateToURL(new URLRequest("/" + data.@Id), '_top');
    				});
    			}
    		}
    	}
    }
    Dans le renderer, le label.htmlText ne me sert qu'à changer le pointeur de la souris lorsque je passe sur le libellé, c'est le listener qui déclenche véritablement l'action de redirection.

    Des idées ?

    Merci d'avance.

Discussions similaires

  1. [Débutant] probléme avec scroll bar
    Par rota90 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 09/08/2012, 22h34
  2. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  3. Comment faire fonctionner une scroll bar ???
    Par toto4650 dans le forum MFC
    Réponses: 10
    Dernier message: 18/07/2005, 16h47
  4. [Débutant][JScript] Désactive ma scroll bar
    Par virgul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2005, 16h55
  5. [BCB5] Défilement automatique des scroll bars
    Par Christophe Brun dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/12/2004, 16h59

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