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

Ext JS / Sencha Discussion :

Impression Form.Panel et tpl


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 32
    Par défaut Impression Form.Panel et tpl
    Bonsoir,

    J'ai créé un simulateur de rachat de crédit (avec la fameuse formule excel VPM...) tout fonctionne bien mais je bute sur l'impression des form.panel.

    J'ai une fonction qui crée à chaque simulation un form.panel avec les resultats de la simulation au format tpl

    la function :

    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
    93
    94
    95
    96
    var form = Ext.create('Ext.form.Panel', {
                renderTo: 'form1',
                title: 'RESULTAT DE VOTRE SIMULATION n°' + _countSim,
                id: 'n°' + _countSim,
                autoHeight: true,
                collapsed: false,
                collapsible: true,
                closable: true,
                width: 600,
                bodyPadding: 10,
     
                defaults: {
                    anchor: '100%',
                    labelWidth: 100
                },
     
                tools: [{
                    type: 'print',
                    tooltip: 'Imprimer cette simulation',
                    handler: function() {
     
                        var html = Ext.dom.Query.selectNode('n°' + _countSim);
     
                        alert(html);
     
                        var win = window.open('', 'Impression');
                    	win.document.open();
                    	win.document.write(html.outerHTML);
                    	win.document.close();
                    }
                }],
     
                items: [{
                    xtype: 'fieldset',
                    title: 'Détails de la simulation',
                    collapsible: true,
     
                    defaults: {
                        labelWidth: 89,
                        anchor: '100%',
                        layout: {
                            type: 'hbox',
                            defaultMargins: {
                                top: 0,
                                right: 5,
                                bottom: 0,
                                left: 0
                            }
                        }
                    },
     
                    tpl: ['<ul class="details">', 
                          '<li>Votre montant total à financer est de: <span style="color:red;"><b>{TF}</b></span> € et la durée restante: <span style="color:red;"><b> {DR}</b></span> moi(s)</li>', 
                          '<li>Gain / mois: <span style="color:green;"><b>{GM}</b></span> €</li>', 
                          '<li>Gain total: <span style="color:green;"><b>{GT}</b></span> €</li>',
                          '</ul>'],
     
                    data: {
                        TF: _tf.toFixed(2),
                        DR: _dr,
                        GM: _gm.toFixed(2),
                        GT: _gt.toFixed(2)
                    }
     
                }, {
                    xtype: 'fieldset',
                    title: 'Calcul des mensualités avec franchises',
                    collapsible: true,
     
                    defaults: {
                        labelWidth: 89,
                        anchor: '100%',
                        layout: {
                            type: 'hbox',
                            defaultMargins: {
                                top: 0,
                                right: 5,
                                bottom: 0,
                                left: 0
                            }
                        }
                    },
     
                    tpl: ['<ul class="details">', 
                          '<li>Mensualité d\'amortissement hors assurance: <span style="color:green;"><b>{MSSA}</b></span> €</li>', 
                          '<li>Mensualité d\'amortissement avec assurance: : <span style="color:green;"><b>{MSAV}</b></span> €</li>', 
                          '<li>Coût mensuel de l\'assurance: <span style="color:green;"><b>{CMA}</b></span> €</li>',
                          '</ul>'],
     
                    data: {
                        MSSA: Math.abs(m_.toFixed(2)),
                        MSAV: Math.abs(_mensassu.toFixed(2)),
                        CMA: _ass.toFixed(2)
                    }
                }]  
            });
    mon problème c'est que quand je clic sur l'icon print j'ai un joli null en alert et cette erreur dans la console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Uncaught TypeError: Cannot read property 'outerHTML' of null fiddle.sencha.com:483
    Ext.create.tools.handler fiddle.sencha.com:483
    Ext.apply.callback ext-all-debug.js:7244
    Ext.define.onClick ext-all-debug.js:124454
    (anonymous function)
    wrap
    J'ai beau chercher sur le net rien a faire... si une bonne ame en peine ou pas veux bien m'indiquer la route :-)

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 32
    Par défaut
    hello,

    Donc après qlq recherches et tests... voici "ma" solution (ne fonctionne pas sous safari...):

    j'utilise la librairie Html2canavas pour imprimer la partie que je souhaite

    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
    function printSimu() {
            	    	// Masque le formulaire
            	        Ext.getCmp("formPanel1").getEl().hide();
     
            			// Recupere l'id de la simulation à imprimer
            	        var te = document.getElementById(keepFormId);
     
            	        html2canvas(te, {
            	            onrendered: function(canvas) {
            	                var img = canvas.toDataURL('image/png');
            	                var html = '<html><head></head><body style="background:#ffffff;"><img src=' + img + '></body></html>';
            	                var WindowObject = window.open("", "PrintWindow", "width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes");
            	                WindowObject.document.writeln(html);
            	                WindowObject.document.close();
            	                WindowObject.focus();
            	                WindowObject.print();
            	                WindowObject.close();
     
            	                // Affiche le formulaire
            	                Ext.getCmp("formPanel1").getEl().show();
            	            }
            	        });
            	    }

Discussions similaires

  1. Sauvegarde apres impression form
    Par azzouz_soui dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/10/2008, 02h20
  2. Réponses: 1
    Dernier message: 14/05/2008, 23h16
  3. [VB.NET 2003] Impression FORM complète
    Par t_ferreira dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/08/2007, 10h10
  4. [VB] Impression form en Paysage
    Par Theocourant dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/09/2005, 10h15
  5. Réponses: 7
    Dernier message: 06/10/2004, 22h13

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