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 :

ajouter des boutons dans un datagrid


Sujet :

Flex

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut ajouter des boutons dans un datagrid
    Salut,

    Je souhaite ajouter des boutons dans la première colonne d'un datagrid. Ce bouton m'affichera une alerte avec le contenu de la seconde colonne (du texte).

    Comment puis-je faire ca ?

    Merci.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 18
    Points : 25
    Points
    25
    Par défaut
    Cherche du coté des item renderers.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    C'est exactement ce que je cherchais, merci

    J'ai encore un petit problème, j'ai déclaré un array en public dans mon main.mxml (package par défaut), j'aimerai y accéder dans mon buttonP.mxml pour pouvoir afficher le contenu de la ligne du dataGrid lorsque je clique sur le fameux bouton.

    Pour accéder a un package depuis le package par défaut il suffit de taper "nomduPackage.composant", comment faire l'inverse...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Points : 156
    Points
    156
    Par défaut
    Ton main.mxml c'est un mx:Application ?
    Tu dois pouvoir faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.application.tonArray
    N'oublie pas le tag résolu

    Charles.

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    C'est un s:Application, "Application.application" ne marche pas.

  6. #6
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Tu peux exposer une propriété publique de type Array dans ton ItemRenderer et lui assigner comme valeur le Array du "main".
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    D'accord mais j'assigne la valeur comment ?

    monArray = XXX.monArrayDuMain; Que dois-je mettre a la place des XXX.

  8. #8
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Tu l'assignes de l'extérieur, dans le main, là où tu utilises l'ItemRenderer.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Dans mon main.mxml j'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    renderer.buttonP.tab = dateCollection;
    "renderer" c'est mon package,
    "buttonP" le non du composant,
    "tab" un ArrayCollection déclaré en public dans buttonP.mxml

    J'ai ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1119: Accès à la propriété tab peut-être non définie, via la référence de type static Class
    Je dois forcément merder quelque part..

  10. #10
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    La propriété devant être définie au niveau du renderer ça donnerait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    renderer.tab = dateCollection;
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  11. #11
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Ca ne marche toujours pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1202: Accès à la propriété non définie tab dans le package renderer.
    Pourtant j'ai déclarer "tab" dans buttonP.mxml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public var tab:ArrayCollection = new ArrayCollection();

  12. #12
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Comment est défini ton renderer et comment est-il utilisé ?

    Tu peux procéder de cette façon : http://www.remwebdevelopment.com/dev...mRenderer.html
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  13. #13
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Voici comment j'utilise mon renderer

    Main.mxml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <mx:DataGrid id="render" dataProvider="{dateCollection}" color="0x000000" height="100%" width="100%" itemClick="goto()">
    							<mx:columns>
    								<mx:DataGridColumn dataField="keyword" headerText="Mots Clefs"/>
    								<mx:DataGridColumn dataField="descr" headerText="Descrption"/>
    								<mx:DataGridColumn dataField="lien" headerText="Lien"/>
    								<mx:DataGridColumn dataField="date" headerText="Date"/>
    								<mx:DataGridColumn dataField="ponderation" headerText="Ponderation"/>
    								<mx:DataGridColumn itemRenderer="renderer.buttonP" headerText="Choix"/>
    							</mx:columns>							
    						</mx:DataGrid>
    Et voici mon buttonP.mxml :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
    		 xmlns:s="library://ns.adobe.com/flex/spark" 
    		 xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
     
    	<fx:Script>
    		<![CDATA[
    			import mx.collections.ArrayCollection;
    			import mx.controls.*;
    			import mx.events.*;
     
    			public var tab:ArrayCollection = new ArrayCollection();
    			public function clk():void
    			{
    				//afficher les infos
    			}
     
    			public var myMenu:Menu; 
     
    			protected function showHandler():void
    			{
    				myMenu = Menu.createMenu(null, myMenuData, false);
    				myMenu.labelField="@label";
    				myMenu.show(stage.mouseX, stage.mouseY);
    				myMenu.addEventListener(MenuEvent.CHANGE, onMenuChange);
    			}
     
    			public function onMenuChange(e:MenuEvent):void
    			{
    				Alert.show(e.label);
    			}
    		]]>
    	</fx:Script>
     
    	<fx:Declarations>
    		<fx:XML format="e4x" id="myMenuData">
    			<root>
    				<menuitem label="Classer dans ..">
    					<menuitem label="Important" groupName="one"/>
    					<menuitem label="Plus tard" groupName="one"/>
    				</menuitem>
    			</root>
    		</fx:XML>
    	</fx:Declarations>
     
    	<s:Button id="butn" label="Supprimer" click="clk()"/>
    	<s:Button id="ad" label="Classer dans" click="showHandler()"/>
    </mx:VBox>

  14. #14
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Il faut gérer la création de tes renderers :
    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
    <fx:Script>
    	...
    	private function dg_creationComplete():void
    	{
    		var factory:ClassFactory = new ClassFactory(renderer.buttonP);
    		factory.properties = {tab:this.tab};
     
    		dgc.itemRenderer = factory;
    	}
    	...
    </fx:Script>
    ...
    <mx:DataGrid id="dg" ... creationComplete="dg_creationComplete()">
    <mx:columns>
    	...
    	<mx:DataGridColumn id="dgc" headerText="Choix"/>
    </mx:columns>
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  15. #15
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Je ne comprend pas ce que tu veux faire avec ce bout de code ? Mon tab est déclarer dans mon package "renderer" pourquoi met tu "this" ?
    Du coup ca me ressort un message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1119: Accès à la propriété tab peut-être non définie, via la référence de type static Main.	Main.mxml

  16. #16
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Mon tab est déclarer dans mon package "renderer" pourquoi met tu "this" ?
    "this" est l'Application, et "tab" le tableau défini par celle-ci, celui dont tu parles ici :
    j'ai déclaré un array en public dans mon main.mxml (package par défaut)
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  17. #17
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    J'ai réglé le problème en mettant "dateCollection" a la place de "tab"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private function dg_creationComplete():void
    			{
    				var factory:ClassFactory = new ClassFactory(renderer.buttonP);
    				factory.properties = {tab:this.dateCollection};
     
    				dgc.itemRenderer = factory;
    			}
    En revanche je n'arrive toujours pas a accéder aux valeurs de mon "dateCollection" dans mon package renderer...

  18. #18
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Si tu as bien déclaré une propriété "tab" dans le renderer tu ne devrais pas avoir de soucis.
    C'est cette propriété qui recevra la valeur du tableau "this.dateCollection".
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  19. #19
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Ça marche nickel parfait, un grand merci a toi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter des données dans une datagrid
    Par wild_striker dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/04/2012, 00h04
  2. ajouter des boutons dans la barre des boutons
    Par kespy13 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 08/04/2008, 14h54
  3. Ajouter des lignes dans un datagrid
    Par gibea00 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/07/2007, 13h20
  4. Ajouter des elements dans un datagrid ou un listview
    Par Seb33300 dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 11/04/2007, 10h37
  5. [C#] Modifier le text des boutons dans un datagrid
    Par Le-Cortex dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/01/2006, 10h17

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