2013-03-15 1 views
1

Je suis nouveau sur highchart et je l'utilise pour afficher un graphique à barres sur ma page Web. Mais le graphique ne s'affiche pas pendant l'impression. Seuls les axes X et Y impriment avec des valeurs mais pas les barres. J'utilise IE8. Le graphique à barres est visible (sur impression) en mode IE8 mais n'est pas visible en mode Compatible IE8. J'ai besoin de le faire fonctionner sur le mode IE par défaut, c'est-à-dire IE8 compat. mode.highchart n'affiche pas de graphique en barres pendant l'impression

Quelqu'un peut-il m'aider dans ce numéro?

J'ajoute un morceau de code de ma fonction js où j'imprime mon highchart dans une fenêtre lightbox.

 var chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'containerDivID', 
      type: 'column' 
     }, 
     title: { 
      text: '' 
     }, 
     xAxis: { 
       categories: xDataValues 

     }, 
     yAxis: { 
      min: 0, 
      title: { 
       text: '' 
      } 
     }, 
     tooltip: { 
      formatter: function() { 
       return ''+ 
        this.x +': '+ this.y +' kr'; 
      } 
     }, 

     plotOptions: { 
      column: { 
       stacking: 'normal', 
       borderWidth: 1, 
       dataLabels: { 
        enabled: false, 
        color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white' 
       } 
      } 
     } 
     , 
     yAxis: { 
      labels: { 
       formatter: function() { 
        return this.value; 
       } 
      }, 
      title:{ 
       text: '' 
      } 
     }, 
     series: [ 
      { 
      name: 'YAxis', 
      color: '#37789F', 
      data: yDataValues 
     } 

     ], 
     credits:{ 
      enabled: false 
     } 
    }); 

Dans ce lightbox j'ai un bouton d'impression en appuyant sur ce bouton, je fais appel window.print() pour imprimer la page. Sur ma page d'impression, je peux voir les axes y et x et les données mais je ne peux pas voir mes graphiques à barres. Mais si je change le mode IE8 de Compatible au mode standard IE8 alors je peux voir mon tableau sur l'impression.

Cordialement, Andi

+0

Bienvenue sur StackOverflow. Pouvez-vous modifier votre question pour inclure du code que vous avez jusqu'à présent. Nous ne pouvons pas résoudre votre problème à moins que nous puissions voir ce que vous avez fait dans votre code. Merci. – Melon

+0

Salut LydOn, Merci pour la réponse rapide. J'ai ajouté le code snipet pour mieux comprendre mon problème. – Andi

Répondre

0

Pour moi, je n'ai pas utilisé la fonction print() pour imprimer le graphique car j'ai besoin d'imprimer des données supplémentaires avec le graphique; Comme ma carte fait partie d'un rapport.

de bien vouloir trouver la fonction d'impression personnalisée que j'ai écrit:

function printReport() { 
    w = window.open(); 
    var svg = myChart.getSVG(); 

    //clone the div you want to print which contains your chart 
    var toprint = $('#bs-results') .clone(); 

    //replace the chart with the svg 
    toprint.find('#graph_div').html(svg); 

    //right the output to print it 
    w.document.write(toprint.html()); 

    w.print(); 
    w.close(); 
} 
Questions connexes