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 :

Button ItemRender de DataGridColumn


Sujet :

Flex

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 98
    Points : 72
    Points
    72
    Par défaut Button ItemRender de DataGridColumn
    Bonjour je suis devant un probleme vraiment bête,

    J'ai créer un composant perso de type DataGridColumn avec comme item render un autre composant perso de type Button

    Je n'arrive pas a mettre un espace a droite et a gauche du button pour que ce dernier de colle pas aux bords de ma colonne. (la bordure gauche du bouton est bouffée par la bordure de ma colonne)

    J'ai tout essayer, forçage du width, editorWidthOffset.

    j'ai mis mon bouton dans un canvas je perds tout les avantages d'un bouton, gestion du keyPress sur ma datagrid saute, il faut que je revoie le chargement du label qui passe plus, bref c'est au moins autant la cata.

    Ca fait une heure que je test toutes les propriétés dans tout les sens pour avoir un truc de correct et rien n'y fait...

    Il y a-t-il quelqu'un qui aurait déjà essayer et réussi ce problème. C'est quand même incroyable de galérer sur un problème aussi con.

    Merci

  2. #2
    Membre averti 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
    Points : 310
    Points
    310
    Par défaut
    ta essaye le paddingLeft, paddingRight sur la DataGridColumn

    Bon courage
    http://www.m-ataf.com (En cours de construction)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 98
    Points : 72
    Points
    72
    Par défaut
    oui j'ai testé et ca ne change rien,

    J'arrive a bidouille le width lors de l'event createComplete du bouton mais y a resize, en forceant aussi dans le resize j'arrive a conservé la taille mais mon bouton reste collé (textAlign n'aligne pas mon bouton)

  4. #4
    Membre averti 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
    Points : 310
    Points
    310
    Par défaut
    rajoute un spacer dans l'item renderer en gros


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var spacer : Spacer = new Spacer();
    spacer.width = 20;
    addChild(spacer)
    addChild(button)
    essaye ca
    http://www.m-ataf.com (En cours de construction)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 98
    Points : 72
    Points
    72
    Par défaut
    tu ajoute ce morceau de code ou ? parce que mise a part l'ajout d'un conteneur... pour ma classe perso je vois pas ou je pourrais mettre ton code

    (tout est en mxml chez moi avec du script intégré)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:DataGridColumn xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml" 
    	rendererIsEditor="true" editorDataField="text" xmlns:lib="lib.*" >
    	<mx:itemRenderer>
            <mx:Component>							        	
            	<lib:BtnMemo/>
    		</mx:Component>
    	</mx:itemRenderer>								
    </mx:DataGridColumn>
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Button xmlns:mx="http://www.adobe.com/2006/mxml" styleName="inputButton" click="onClick(event)" move="onMove(event)" resize="onResize(event)" creationComplete="onCreate(event)" left="5" right="5" keyDown="onKeyPress(event)">
    	<mx:Script>
    		<![CDATA[
    			import mx.managers.PopUpManager;
    			import mx.controls.Alert;
    			import mx.controls.Button;
    			import lib.DialogBox;
    			// icones
    	        [Embed(source='/Images/crayon-normal.png')]
    	        private static var Crayon:Class;
    			[Embed(source='/Images/crayon-rouge.png')]
    			private static var CrayonRouge:Class;
    			private var _dataText:String="";
    			private var _createX:int;
    			private var flag:Boolean=false;
     
     
    			public function set text(value:String):void{
    				_dataText = value;
    		 		if (value != ""){
    					setStyle("icon",CrayonRouge);
    				}else{
    					setStyle("icon",Crayon);
    				}
    			}
     
    			override public function set label(value:String):void{
    				if (value != ""){
    					setStyle("icon",CrayonRouge);
    				}else{
    					setStyle("icon",Crayon);
    				}
    			}
     
    		 	override public function get label():String{
    		 		text = text;
    		 		return "";
    		 	}
     
    		 	public function get text():String{
    		 		return _dataText;							        		 		
    		 	}
     
    			private function onClick(event:Event):void{        				
    				var dgMemo:DgMemo;
    				dgMemo = PopUpManager.createPopUp(DisplayObject(parentDocument),DgMemo,true) as DgMemo;
    				dgMemo.title = "Description";
    				dgMemo.text = _dataText;
    				dgMemo.addEventListener(Event.CLOSE,ClosePop);
    				PopUpManager.centerPopUp(dgMemo);			
    			} 
     
     
     
    			public function ClosePop(event:Event):void{
    				var dgMemo:DgMemo = DgMemo(event.target);
    				if (dgMemo.modalResultOk){
    					text = dgMemo.text;
    				}						
    				PopUpManager.removePopUp(dgMemo);
    			}
     
    			public function onKeyPress(event:KeyboardEvent):void{
    				if (event.keyCode == 13){
    					onClick(event);
    				}
    			}				
     
     
    			private function onResize(event:Event):void{
    				width = 40;				
    				x = _createX + 5;
    			}
     
    			private function onMove(event:Event):void{
    				if (flag){
    					width = 40;				
    					x = _createX + 5;
    				}					
    			}
     
     
    			private function onCreate(event:Event):void{
    				width = 40;
    				_createX = x;
    				x = _createX + 5;
    				flag = true;
    			}	        			 
    		]]>
    	</mx:Script>		
    </mx:Button>
    J'ai reussi avec ca (onResize,onMove,onCreate) , mais c'est moche comme un trou d'balle de chameau

  6. #6
    Membre averti 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
    Points : 310
    Points
    310
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <mx:itemRenderer>
            <mx:Component>	
                    <mx:Spacer width = 20 / > 						        	
            	<lib:BtnMemo/>
    		</mx:Component>
    	</mx:itemRenderer>
    je pense que c'est comme ça
    http://www.m-ataf.com (En cours de construction)

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/06/2005, 16h17
  2. renommer un Button
    Par soad dans le forum Composants
    Réponses: 2
    Dernier message: 04/06/2004, 23h43
  3. Question sur un controle de type "button"
    Par Invité dans le forum Windows
    Réponses: 2
    Dernier message: 29/05/2004, 11h30
  4. [SWT] Button.button
    Par gregolak dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 07/05/2004, 13h41
  5. Toolbar Buttons et paramètres
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 13/06/2003, 19h44

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