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 :

Exécution d'une action lors du click sur LinkButton


Sujet :

Flex

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 91
    Points : 49
    Points
    49
    Par défaut Exécution d'une action lors du click sur LinkButton
    Bonjour,

    J'expose mon problème. J'ai une base de données dans laquelle j'ai la table suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE IF NOT EXISTS `maj` (
      `nom` varchar(250) NOT NULL,
      `mail` varchar(250) NOT NULL,
      `sujet` varchar(250) NOT NULL,
      `fileName` varchar(100) NOT NULL,
    `fileURL` varchar(250) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    Le champ "fileName" correspond au nom d'un fichier que j'upload vers mon serveur, "fileURL" correspond au chemin de ce fichier.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO `maj` (`nom`, `mail`, `sujet`, `fileURL`) VALUES
    ('monNom', 'monNom@developpez.net', 'test', 'http://localhost/uploads/25-05-2009_Image.csv');
    Comme vous avez du le remarquer mon fichier est de type CSV.

    Sur Flex, je récupère le contenu de cette table dans un datagrid:
    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
     
    <?xml version="1.0" encoding="utf-8"?>
     
    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
    	initialize="initialisation()">
     
    <!-- RemoteObject: accès service distant AMFPHP -->
    	<mx:RemoteObject id="ROService"	showBusyCursor="true" 
    		source="classif_amfphp.traitement" destination="amfphp">	<!-- modifier la source (répertoire.fichier.php)-->	
    		<mx:method name="getRequetesRegions" result="getRequetesRegionsResult(event)" />
    	</mx:RemoteObject>
     
    <!-- On fait appel au fichier ActionScript contenant toutes les fonctions 
    et les packages Actionscript utilisés  -->
    	<mx:Script source="../actionscript/amfphp/affichage.as"/>
     
    	<mx:Label text="Sollicitations des régions" styleName="titre2" horizontalCenter="0" verticalCenter="-180">
     
    	</mx:Label>
    	<mx:DataGrid selectionColor="0xf37021" id="datagrid_requetesRegions" dataProvider="{getRequetesRegionsAC}" horizontalCenter="0" verticalCenter="20" 
    		alternatingItemColors="[#ffffff, #00A5B9]" backgroundAlpha="0.6" height="340" width="340">
    		<mx:columns>
    			<!--dataField correspond au champ de la table-->
    			<mx:DataGridColumn headerText="Nom" dataField="nom" width="80"/> 
    			<mx:DataGridColumn headerText="Adresse email" dataField="mail" width="100"/>
    			<mx:DataGridColumn headerText="Sujet" dataField="sujet" width="120"/>
    			<mx:DataGridColumn headerText="fileURL" dataField="fileURL" width="130" visible="false"/>
    			<mx:DataGridColumn headerText="Téléchargement" itemRenderer="renderers.FileUrlRenderer" width="210"/>
    		</mx:columns>
    	</mx:DataGrid>
    </mx:Canvas>
    Dans l'instruction: <mx:dataGridColumn headerText="Téléchargement" itemRenderer="renderers.FileUrlRenderer" width="210"/> je fais appel à un fichier "FileUrlRenderer.mxml" qui me permet de télécharger le fichier CSV.

    Le contenu du fichier "FileUrlRenderer" est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
     
    <mx:LinkButton xmlns:mx="http://www.adobe.com/2006/mxml" label="Télécharger le fichier" 
    	click="navigateToURL(new URLRequest(data.fileURL))"/>
    Ce que j'aimerais faire c'est avoir dans mon datagrid une autre colonne avec un bouton pour chaque enregistrement. Sachant que mes fichiers sont de type CSV, le click sur ce bouton doit déclencher l'ouverture de ce fichier CSV et l'import de son contenu vers une BDD. Je sais déjà importer vers la BDD. Mais la difficulté pour moi est comment ouvrir le fichier correspondant à chaque enregistrement??
    Pour l'ouverture de mon fichier je me sert d'un script PHP très simple qui est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $fp = fopen("../../../classif/uploads/Image.csv","r"); //lecture
    J'espère avoir été explicite. Merci.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Ce que j'aimerais faire c'est avoir dans mon datagrid une autre colonne avec un bouton pour chaque enregistrement. Sachant que mes fichiers sont de type CSV, le click sur ce bouton doit déclencher l'ouverture de ce fichier CSV et l'import de son contenu vers une BDD. Je sais déjà importer vers la BDD. Mais la difficulté pour moi est comment ouvrir le fichier correspondant à chaque enregistrement??
    Enregistrement et import ?

    C'est un peu délicat et je ne pense pas que tu puisses le faire aussi facilement.
    Moi je le vois plutôt comme ça du point de vue utilisateur :
    1 - Tu télécharges ton fichier depuis ton application Flex
    2 - Tu le modifies chez toi
    3 - Tu l'upload de nouveau toujours depuis ton application Flex

    Et pour ça tu utilises FileReference .

    ++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 91
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par ellene Voir le message
    Enregistrement et import ?
    Peut être que je me suis mal expliqué: quand je dis "enregistrement", je parle de lignes dans mon tableau. "import": c'est importer le contenu de mon fichier CSV vers une table de ma BDD.

    Citation Envoyé par ellene Voir le message
    C'est un peu délicat et je ne pense pas que tu puisses le faire aussi facilement.
    Moi je le vois plutôt comme ça du point de vue utilisateur :
    1 - Tu télécharges ton fichier depuis ton application Flex
    2 - Tu le modifies chez toi
    3 - Tu l'upload de nouveau toujours depuis ton application Flex
    En fait je n'ai pas besoin de modifier mon fichier. J'aimerais lancer l'import de mon fichier CSV vers la table de ma BDD et pour ceci le script PHP a besoin d'ouvrir le fichier concerné. Le but finalement c'est d'éviter que cette opération se fasse par l'utilisateur comme tu l'as bien décrite ci-haut.

    Merci

Discussions similaires

  1. executer une action lors d'un click sur un bouton de page web
    Par clairetj dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/10/2013, 08h29
  2. Problème pour réaliser une action lors du clique sur le bouton menu ou back
    Par FunckyWarrior dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 29/05/2013, 14h39
  3. Réponses: 6
    Dernier message: 05/01/2010, 15h40
  4. Bloquer exécution d'une action sur sx:div
    Par arnaud.tlse dans le forum Struts 2
    Réponses: 1
    Dernier message: 25/12/2009, 00h42
  5. Réponses: 7
    Dernier message: 20/10/2005, 20h51

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