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 :

VBox ou autre conteneur donc la hauteur depend de la DataGrid contenue


Sujet :

Flex

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 VBox ou autre conteneur donc la hauteur depend de la DataGrid contenue
    Hello !

    Tjs sur les DataGrid (decidemment...) je me demandais s'il etait possible (et je pense que ca l'est) de, simplement, faire en sorte que la Height d'une VBox se cale sur la Height d'une DataGrid.
    Exemple : On a une dataGrid qui s'ouvre dans une PopUp (TitleWindow). Cette TitleWindow a une minHeight donc si il ya 5 ou moins lignes dans la dataGrid contenue, elles sont affiches. Si la DataGrid fait plus, je voudrais que la taille de la TitleWindow s'etire pour pouvoir contenir la Datagrid et ses elements sans mettre de scrollBar.
    Pour l'instant mon code est :

    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
    <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
    	layout="vertical" width="300" minHeight="100" maxHeight="450" 
    	title="Combine Articles"
    	xmlns:popups="com.woodwing.lucina.views.popups.*" 
    	close="PopUpManager.removePopUp(this)" showCloseButton="true" xmlns:ac="com.adobe.ac.*" 
    	verticalScrollPolicy="off">
    	<mx:VBox borderStyle="solid" borderThickness="1" borderColor="#bfbfbf" width="100%" height="100%" backgroundColor="#ffffff"
    		dropShadowEnabled="true" dropShadowColor="#000000" paddingBottom="11" paddingTop="11" horizontalAlign="center" verticalGap="8">
     
     
    		<mx:AdvancedDataGrid id="detailview_dg" width="90%" height="100%" resizableColumns="false"
    			dataProvider="{this.articles}" dragEnabled="true" dropEnabled="true" dragMoveEnabled="true"
    			headerHeight="10">
    		    <mx:columns>
    			    <mx:AdvancedDataGridColumn headerText="" itemRenderer="com.woodwing.lucina.views.renderers.ObjectTypeIconRenderer" width="25"/>
    			    <mx:AdvancedDataGridColumn headerText="" dataField="name"/>
    		    </mx:columns>       
    		</mx:AdvancedDataGrid>
     
    		<mx:Spacer height="8"/>
    		<mx:VBox height="1" width="100%" backgroundColor="#ebebeb"/>
    				<!--
    					<popups:SmartDialog width="100%" height="100%" id="smartDialog" source="{source}" action="{action}" verticalScrollPolicy="off"/>
    					-->
    		<mx:HBox width="100%" horizontalAlign="right" verticalAlign="middle" paddingRight="17">
    				<mx:Button id="ok_btn" label="{ResourceManager.getInstance().getString('lucina', 'ACT_OK')}" click="onSubmitChanges()"/>
    			<mx:Button id="cancel_btn" label="{ResourceManager.getInstance().getString('lucina', 'ACT_CANCEL')}" click="onCancel()"/>
    		</mx:HBox>		
    	</mx:VBox>	
    </mx:TitleWindow>
    La TitleWindow elle est appelee dans un .as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var combineArticlesWindow:CombineArticlesWindow = CombineArticlesWindow(PopUpManager.createPopUp(Application.application as DisplayObject,CombineArticlesWindow,true));

    et je ne comprend pas car je ne fixe a aucun moment la taille de la TitleWindow et pourtant elle ne depasse pas 290 pixels...
    Ya qq chose qui m echappe. Je pensais que lorsqu on ne fixait pas de taille et qu on mettais des 100% un peu partout les conteuneurs se calaient sur leur contenus.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Par défaut
    Salut,

    En haut de ta TitleWindow, tu fixe : width="300" minHeight="100" maxHeight="450". Ca va donc fixer la taille de ton composant.

    Ensuite, il est possible d'utiliser la taille de ta data grid pour ta VBox. Il suffit pour ca de binder les deux paramètres height. Tu auras quelque chose du genre :

    <mx:VBox height="{dg.height}">
    ...

    <mxataGrid id="dg">

  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
    Coucou !!!

    Merci pour ta reponse. En fait j avais oublie de mettre a jour mais j'ai cependant reussi a m'en sortir grace a une reponse sur un autre forum, et il fallait chercher dans la direction du RowCount !! Ca n'a tout de meme pas ete evident a cause de ptits trucs a savoir mais au final ca marche parfaitement, je suis tres contente !!!!

    Le truc est qu'il fallait apparemment aussi fixer la RowHeight, et jouer sur les minHeight et maxHeight de la DataGrid pour avoir l'affichage que je voulais, mais le coup du : rowCount="{detailview_dg.dataProvider.length}" .. nickel !!!! J'ai aussi vire les 100% de la Vbob, je sais pas si ca a joue ..

    Bon, maintenant j ai un autre probleme avec une autre Datagrid qui contient des elements donc le height differe... je met de cote pour l'instant, je me pencherais plus tard sur la question.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2013, 01h38
  2. Réponses: 8
    Dernier message: 20/11/2012, 09h49
  3. Centrer le contenu d'un conteneur entre 2 autres conteneurs
    Par niavlys77 dans le forum Mise en page CSS
    Réponses: 28
    Dernier message: 22/04/2009, 09h02
  4. [Layout] Un conteneur en BorderLayout contenant un autre conteneur en BorderLayout
    Par sheepolata dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 03/02/2009, 15h19
  5. Clé étrangère depuis un autre conteneur.
    Par berceker united dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/05/2006, 14h33

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