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

Servlets/JSP Java Discussion :

Extjs + DWR + struts et génération d'etats excel


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Extjs + DWR + struts et génération d'etats excel
    Bonjour,

    quelqu'un a t il deja eu l'occasion de developper la generation d'etat Excel via l'API de communication asynchrones DWR?

    En fait je souhaites exporter les lignes selectionnées d'une grid ExtJs au format excel...donc pouvoir faire apparaitre la dialog box pertmettant d'ouvrir ou de sauvegarder mon fichier...

    l'appel asynchrone a ma methode Java fonctionne ainsi que le passage de parametres mais aucun moyen de maitriser le mecanisme de reponse...

    la premiere solution a laquelle j'ai pensé est de générer mon fichier et a l'issue de la génération d'afficher dynamiquement via ExtJs un bouton me permettant de recuperer le fichier excel stocké (en memoire ou sur le serveur...)

    cependant ca implique d'effacer quasiment à la volée les fichiers une fois qu'ils sont telechargé et je trouve que cela constitue une regression par rapport a un fonctionnement classique de type form.submit() a la struts....

    en attendant une eventuelle reponse....merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par samir.kerroumi Voir le message
    Bonjour,

    quelqu'un a t il deja eu l'occasion de developper la generation d'etat Excel via l'API de communication asynchrones DWR?

    En fait je souhaites exporter les lignes selectionnées d'une grid ExtJs au format excel...donc pouvoir faire apparaitre la dialog box pertmettant d'ouvrir ou de sauvegarder mon fichier...

    l'appel asynchrone a ma methode Java fonctionne ainsi que le passage de parametres mais aucun moyen de maitriser le mecanisme de reponse...

    la premiere solution a laquelle j'ai pensé est de générer mon fichier et a l'issue de la génération d'afficher dynamiquement via ExtJs un bouton me permettant de recuperer le fichier excel stocké (en memoire ou sur le serveur...)

    cependant ca implique d'effacer quasiment à la volée les fichiers une fois qu'ils sont telechargé et je trouve que cela constitue une regression par rapport a un fonctionnement classique de type form.submit() a la struts....

    en attendant une eventuelle reponse....merci
    bon apperemment ca interesse perosnne lol

    mais je vais donner la reponse a mon probleme si quelqu'un bute la dessus un jour qui sait?

    donc j'abandonne l'appel asynchrone avec DWR et je me limite a un post de Formulaire classique

    ma grid extjs contient une toptoolbar a laquelle j'associe un bouton de la maniere suivante :

    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
    var grid = new Ext.grid.GridPanel({
            store: pstore,
            cm: columnM,
            view: new Ext.grid.GroupingView({
                forceFit:true,
                groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
            				}),
            frame:true,
            width: 1015,
            height: 650,
            collapsible: true,
            animCollapse: false,
            loadMask: true,
            iconCls: 'icon-grid',
            id: 'myGrid',
            tbar: new Ext.PagingToolbar({
          			pageSize: 100,
          			store: pstore,
          			displayInfo: true,
          			displayMsg: 'Displaying customers {0} - {1} of {2}',
          			emptyMsg: "No customers to display",
          			items:[
                    		'-',
                    		{
                    		pressed: true,
                    		enableToggle:true,
                    		text: 'Excel Export',
                    		cls: 'x-btn-text-icon details',
                    		handler: function() {
                    		selectedRows = grid.getSelectionModel().getSelections();
                    		rowCount = grid.getSelectionModel().getCount();
                    		var ids = new Array();
                    		if(rowCount == 0) {
                        						Ext.Msg.alert('Alert', 'Cannot export an empty selection');
                    							}
                    		else
                    							{
                       							for(var index=0; index<rowCount; index++) {
                       								var id=selectedRows[index].id;
                       								ids[index]=id;
                       							}
                       							
                       							<!--eForm.ids.value=ids;-->
                       							document.excelForm.submit();
                       																				
                    							}
                								}
                			}]
        			})
            });
    handler definit la methode a executer pour le bouton ici je recupere les lignes selectionnée (cf SelectionModel), je recupere l'element DOM de type formulaire nommé excelForm et je fais un submit dessus...

    mon Form est invisible sur ma page (aucun interet) et est declaré de la maniere suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="form" class="x-layout-inactive-content">
        <form action="exportExcelCustomers.do" method="POST" name="excelForm">
             <input type="hidden" name="ids"/>
        </form>
    </div>

    notez le style en rouge pour l'invisibilité

    mon action se charge de créer la reponse appropriée pour l'affichage d'une dialog box "open or save"

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Salut,

    Bin finalement ça intéresse quelqu'un !

    Sauf que moi j'essaie de générer un doc rtf à partir d'un appel asynchrone (enfin je crois par ce que je suis pas une lumière dans le domaine)

    J'ai mon script php qui fonctionne très bien seul.
    Dans extjs, j'ai créé une fonction qui appelle le script, mais au lieu de générer le doc il renvoi la réponse sans le générer...

    Si quelqu'un à une idée...

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Drakkhen72 Voir le message
    Salut,

    Bin finalement ça intéresse quelqu'un !

    Sauf que moi j'essaie de générer un doc rtf à partir d'un appel asynchrone (enfin je crois par ce que je suis pas une lumière dans le domaine)

    J'ai mon script php qui fonctionne très bien seul.
    Dans extjs, j'ai créé une fonction qui appelle le script, mais au lieu de générer le doc il renvoi la réponse sans le générer...

    Si quelqu'un à une idée...

    normal quelle est le type d'encodage de ta reponse?
    tu peux voir ca avec firebug...

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'avais oublié ce message, j'ai trouvé une solution (toute simple) sur un autre forum.
    Je vous l'a fait partager :
    Voici le handler pour le bouton déclenchant la génération de mon doc en rtf
    handler: function() {
    //Récup de l'ID nécessaire au script
    var selections = SuiviProgrammesListingEditorGrid.selModel.getSelected();
    document.location.href = 'php/rtf.php?type_doc=procuration&l_aq_id='+selections.json.l_aq_id;
    }

Discussions similaires

  1. Etat Excel à partir de forms 9i (report 9i)
    Par Process Linux dans le forum Reports
    Réponses: 8
    Dernier message: 29/04/2009, 12h23
  2. [Excel] Génération de fichiers
    Par abidi_niz dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/07/2006, 09h29
  3. [MFC/OLE] Génération de graphique Excel
    Par TomTom95 dans le forum MFC
    Réponses: 13
    Dernier message: 06/06/2006, 14h33
  4. [VBA-E]Génération de fichiers Excel à partir d'un autre
    Par cyrille2k5 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/05/2006, 10h27
  5. Génération d'Etats à partir de formulaire
    Par haibane dans le forum Access
    Réponses: 2
    Dernier message: 25/01/2006, 12h55

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