Question Flex
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Question Flex



  1. #1
    MANTA..

    Question Flex


    ------

    Bonjour à tous!

    Cette fois j'ai besoin de votre aide car pour un projet que je dois modifier, je voudrais mettre un button dans un DataGridColumn ainsi que du texte (le texte vien d'une base de donnée). Il y a déja un itemRender qui est utilisé par les colonnes du datagrid en questions, voici son code :

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Text xmlns:mx="http://www.adobe.com/2006/mxml"
    	width="100%" height="100%"
    	paddingTop="2"
    	paddingBottom="2"
    	paddingLeft="2"
    	paddingRight="2"
    	selectable="false"
    	textAlign="left"
    	>
    <mx:Script>
    	<![CDATA[
    		import mx.controls.dataGridClasses.DataGridListData;
    
    		private var _data:Object;
    		
    		// ACCESSORS
            override public function set data(value:Object):void {
            	if (value != super.data) {
                	super.data = value;
             	}
                
               
                if (value != null)
                {
                	var _field:String;
                	if (value[DataGridListData(listData).dataField] is Object) {
                    	_field = Object(value[DataGridListData(listData).dataField]).toString();
                    	
                    	if (_field != null && text != _field) {
                    		text = _field;
                    	}
                 	}
                }else{
                	text="";
                }
            }
    	]]>
    </mx:Script>
    </mx:Text>
    Je ne me suis mis au flex que lundi donc je ne comprend pas vraiment ce code mais lorsque je met le mx:text dans un carnvas afin de pouvoir ajouter un bouton j'ai une erreur : "Accès à la proprieté non définie text" et si je supprime toute les variables text il me met : "Accès à la proprieté non définie listData". Il n'y a que quand je ne met qu'un mx:Text que ca marche.

    J'ai essayer d'ajouter un button en mettant tout en bas du code :
    Code:
    </mx:Script>
    <mx:Button label="t" width="20" height="22"/>
    </mx:Text>
    Mais quand je fais ca , il n'y a plus que le bouton qui s'affiche, il n'y a plus de texte

    Est-ce que vous auriez une idée pour résoudre mon problème?

    -----
    Dernière modification par MANTA.. ; 19/04/2012 à 08h38.

  2. #2
    antoine6

    Re : Question Flex

    Salut,

    Tu utilise quelle version du SDK?

    Tu veut faire quoi comme renderer? un bouton ET du texte, ou du texte dans un bouton? Je sais pas non plus à quoi servira ton bouton, mais tu peut detecter un clic (simple ou double) sur le datagrid (et récuperer la ligne concernée + la colonne)

    J'ai pas d'exemple avec un button sous la main, mais j'ai par contre un projet ou j'ai rajouté un linkbutton dans un advanceddtgrid:

    Code:
    <mx:AdvancedDataGridColumn headerText=""										editable="false"	width="32"	id="colSup" sortable="false">
    	<mx:itemRenderer>
    		<mx:Component>
    			<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
    				<mx:LinkButton icon="@Embed('../assets/icons/del_gris.png')" visible="{(data.id)?true:false}" />
    			</mx:HBox>
    		</mx:Component>
    	</mx:itemRenderer>
    </mx:AdvancedDataGridColumn>
    Tu peut rajouter des fonctions pour changer le label affiché en rajoutant une balise <mx:Script> à l'interieur du <mx:Component>
    Dernière modification par antoine6 ; 19/04/2012 à 16h58.

  3. #3
    MANTA..

    Re : Question Flex

    Merci pour ton aide. Ce que je veut faire c'est mettre un bouton + du texte. Car mon datagrid va afficher une liste de contact (nom prenom telephone mail) mais le truc c'est que un contact peut avoir plusieurs numéro de telephone donc a coté du numéro de telephone principale , je voulais mettre un petit bouton qui ouvrirait une nouvelle fenetre dans laquelle le reste des numéro serait afficher. Mais si je n'y arrive pas je vais faire comme tu a dis et juste detecter le clic. Le probleme que j'ai actuellement, c'est qu'il n'arrive pas a recuperer les informations de la base de donnée lorsque je met la balise text dans une autre balise...En gros quand je fais ca -->
    Code:
    <mx:Text>
    
    <\mx:text>
    Il comprend qu'il doit traiter des donnée et ca passe.


    Mais quand je fais ca -->

    Code:
    <mx:Canvas>
    <mx:Text>
    
    <\mx:text>
    
    <\mx:Canvas>
    Le canvas agit comme un "mur" et bloque l'accées aux donnée (je pense)



    Je vais essayer ton code et voir ce que je peut faire avec, MERCI
    Dernière modification par MANTA.. ; 20/04/2012 à 09h27.

  4. #4
    MANTA..

    Re : Question Flex

    Si vous avez d'autres idées n'hesitez pas!!!

  5. A voir en vidéo sur Futura
  6. #5
    antoine6

    Re : Question Flex

    Citation Envoyé par MANTA.. Voir le message
    Le canvas agit comme un "mur" et bloque l'accées aux donnée
    Passe plutot par un HBOX du genre

    Code:
    <mx:hbox>
    <mx:label />
    <mx:button />
    </mx:hbox>

  7. #6
    MANTA..

    Re : Question Flex

    merci pour la proposition, j'ai essayer avec une HBox, Vbox, Canvas même avec un panel, mais ca me fait toujours la même chose. Dès que je met le mx:text à l'intérieur de quelque chose, le texte qui est censée s'afficher dans le grid ne s'affiche plus ou l'erreur m'empéche de continuer
    Dernière modification par MANTA.. ; 20/04/2012 à 12h06.

  8. #7
    MANTA..

    Re : Question Flex

    Une autre question, en fait , j'ai beaucoup de mal à comprendre comment est fait le lien entre la base de donnée et le datagrid, est-ce que vous pouriez m'expliquer le code suivant :

    Code:
    	<mx:DataGrid id="dgridResult" width="100%" height="100%" dataProvider="{_data.collection}" allowMultipleSelection="true" doubleClickEnabled="true" click="onDgridResultClick(event)" change="onDgridResultChange(event)" doubleClick="onDgridResultDblClick(event)">
    			<mx:columns>
    				<mx:DataGridColumn headerText="ID" dataField="id" width="60" itemRenderer="components.dataGrid.ItemTextViewRow" />
    				<mx:DataGridColumn headerText="Prenom" dataField="lastName" width="180" itemRenderer=".components.dataGrid.ItemTextViewRow" />
    				<mx:DataGridColumn headerText="Nom" dataField="firstName" width="180" itemRenderer=".components.dataGrid.ItemTextViewRow" />
    				<mx:DataGridColumn headerText="mail" dataField="email" itemRenderer="components.dataGrid.ItemTextViewRow" />
    				<mx:DataGridColumn headerText="" itemRenderer="sacapus.components.dataGrid.ItemBtnEditRow" width="100"/>
    			</mx:columns>
    		</mx:DataGrid>
    Et dans l'itemRenderer

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Text xmlns:mx="http://www.adobe.com/2006/mxml"
    	width="100%" height="100%"
    	paddingTop="2"
    	paddingBottom="2"
    	paddingLeft="2"
    	paddingRight="2"
    	selectable="false"
    	textAlign="left"
    	>
    <mx:Script>
    	<![CDATA[
    		import mx.controls.dataGridClasses.DataGridListData;
    
    		private var _data:Object;
    		
    		// ACCESSORS
            override public function set data(value:Object):void {
            	if (value != super.data) {
                	super.data = value;
             	}
                
               
                if (value != null)
                {
                	var _field:String;
                	if (value[DataGridListData(listData).dataField] is Object) {
                    	_field = Object(value[DataGridListData(listData).dataField]).toString();
                    	
                    	if (_field != null && text != _field) {
                    		text = _field;
                    	}
                 	}
                }else{
                	text="";
                }
            }
    	]]>
    </mx:Script>
    </mx:Text>

    Ou doit-on lui dire quelle table utiliser? comment sait-il ou elle se trouve??

    Merci d'avance
    Dernière modification par MANTA.. ; 24/04/2012 à 14h43.

Discussions similaires

  1. Flex & Myeclipse 10
    Par MANTA.. dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 14/04/2012, 19h03
  2. Création de PCB flex
    Par Eliot44 dans le forum Électronique
    Réponses: 11
    Dernier message: 12/06/2011, 16h27
  3. Schema electrique tri-flex peavey
    Par invite3114e462 dans le forum Électronique
    Réponses: 0
    Dernier message: 28/06/2010, 01h40
  4. circuit de cartographie flex fuel
    Par inviteff96d449 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/11/2007, 15h30