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

MXML Discussion :

Probleme de ScrollBar lorsque ma DataGrid a variableRowHeight="true"


Sujet :

MXML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 145
    Par défaut Probleme de ScrollBar lorsque ma DataGrid a variableRowHeight="true"
    Bonjour,

    j'ai un serieux probleme..
    J'utilise une DataGrid qui est remplie par du texte (ou des images) de differentes hauteur.
    Du coup, ce qu'il se passe, c'est que lorsque l'on scrolle jusqu'en bas, un comportement exrtemement etrange se produit : on n'arrive pas a attendre les derniers elements !
    Le fait est que ma datagrid a ses rowHeight a la meme hauteur, sauf la derniere ligne qui est moins haute. Je pense que ce qu'il se passe est que la la scroll bar est calcule a partir du rowCount et des rowHeight des premieres lignes, et du coup, a a fin, ca deconne..

    Mon 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
    	maxHeight="600" width="704" minHeight="348" height="500"
    	title="Show Versions" xmlns:ac="com.adobe.ac.*"
    	showCloseButton="true"
    	close="cancelChanges()" 
    	xmlns:renderers="com.woodwing.lucina.views.renderers.*" 
    	>
     
           <mx:DataGrid id="list_versions_dg"
    			width="90%" height="100%"
    			dataProvider="{versionsData}" 
    			headerHeight="23" change="onChange()" 
    			doubleClickEnabled="true" doubleClick="viewVersion()"
    			variableRowHeight="true" wordWrap="true"
    			focusEnabled="true"
    			creationComplete="creationComplete();"
    			updateComplete="updateComplete()">
    			<mx:columns>
    				<mx:DataGridColumn id="previewColumn" headerText="Versions" dataField="rendition" sortable="true" width="220" wordWrap="true">
    					<mx:itemRenderer>
    						<mx:Component>
    							<renderers:ThumbNailVersionsRenderer currentSmartObject="{outerDocument.selectedSmartObject}"/>
    						</mx:Component>
    					</mx:itemRenderer>
    				</mx:DataGridColumn>
    			</mx:columns>
    		</mx:DataGrid>
    </mx:TitleWindow>
    avec le ThumbNailVersionsRenderer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" 
    	implements="mx.core.IFactory" width="100%"
    	verticalAlign="middle" verticalGap="0" 
    	verticalScrollPolicy="off" horizontalAlign="center"
    	xmlns:components="com.woodwing.components.*">
                       <mx:Text id="textSlugline" height="100%"
    						htmlText="{VersionsVO(this.data).slugline}"/>
    </mx:VBox


    Une idee pour resoudre ce casse tete ??? J'ai essaye de changer les unscaledHeeight (pas possible), de modifier la height de la DG (ne marche pas), etc etc je seche !!!!

  2. #2
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 145
    Par défaut
    J'ai oublie d'ajouter ma fonction du renderer qui permet d'avoir la hauteru correcte de chaque ligne :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      override protected function updateDisplayList (w:Number, h:Number) : void {
     
    	         	super.updateDisplayList(w,h);
    	         	if (textSlugline != null){
    	         		textSlugline.explicitWidth = this.width;
    					//ligne supp
    	         	}
    	         }
    On remarque une evolution lorsqu'on rajoute cette ligne au niveau de "//lign supp"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.height = textSlugline.measuredHeight;
    Mais reste des problemes d'affinchage, du aux "height" qui changent..

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 145
    Par défaut
    Bon. J'ai en qq sortes contourne et resolu le pb..
    D une j ai fixe la largeur de la colonne (ca a pas resolu le pb, mais un autre qui me saoulait, bref.. )
    De 2, au lieu de mettre les width="100%" (VBox et Text du renderer) je les ai mises a 200. Pouf, plus de probleme de scroll bar ! Du coup, j ai meme enleve ma fonction du updateDisplayList qui ne me servait plus a rien.

Discussions similaires

  1. [VB.NET] Problème liste Parent-Enfant dans DataGrid
    Par vonbier dans le forum ASP.NET
    Réponses: 7
    Dernier message: 27/01/2005, 08h53
  2. [C#] Probleme avec TextBox dans un DataGrid
    Par Oberown dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/12/2004, 16h05
  3. [VB.NET] Disparition scrollBar dans une DataGrid
    Par aphykite dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/10/2004, 10h29
  4. [FLASH MX] Probleme de scrollbar et texte dynamique
    Par Bisûnûrs dans le forum Flash
    Réponses: 6
    Dernier message: 28/06/2004, 21h12

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