2016-08-05 12 views
1

Ich benutze DotNetHighcharts, um eine Bar Säulendiagramm zu erstellen, aber aufgrund der fehlenden Entwicklungsarbeit auf DotNetHighcharts muss ich Javascript verwenden um die Drucktaste selbst zu deaktivieren (die anderen Exportoptionen bleiben erhalten).DotNetHighcharts- Kann ich mein ganzes Diagramm einer JS var nach dem Laden der Seite zuweisen, zur weiteren Bearbeitung

Ich habe lange gesucht und keine Antwort gefunden, aber ich frage mich, ob es eine Möglichkeit gibt, mein Highchart normal zu laden, und wann das Dokument bereit ist, das Diagramm zu manipulieren die üblichen Highcharts Javascript Funktionen.

Kann dies getan werden?

+0

Dies kann absolut mit einigen Einschränkungen durchgeführt werden. Am einfachsten können Sie die Diagrammoptionen einer Variablen zuweisen, einschließlich ihrer Generierung für einen Container, und sie später bearbeiten. Wenn Sie sich diese Demo anschauen (http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/members/series-addpoint-append/) ordnen sie das Diagramm einer Variablen zu und ändern dann die Seriendaten basierend auf den Werten dieser Variablen. Ist das wonach Sie suchen? Wenn ja, kann ich Ihnen konkretere Beispiele geben. –

+0

ja so, außer ich generiere alle meine seriesData in meinem C# helper, und mein Chart wird gerade in einen Container Div geladen. Kann ich das Diagramm erhalten, indem ich auf dieses Container-Div. Bezug nehme? Alles, was ich tun will, ist die Print Chart Taste unabhängig von den anderen Export-Optionen zu verbergen – bjjrolls

+0

Ich bin keine C# Person, also bitte vergib meine Frage, aber, sind Sie in der Lage, Highcharts Optionen vor Ihrem Helfer zu setzen? Es gibt eine Javascript-Funktion mit dem Namen 'Highcharts.setOptions()', in der Sie angeben können, welche Art von Optionen global auf ein Diagramm angewendet werden soll, einschließlich der Exportoptionen. Wenn Sie vor dem Zeichnen des Diagramms etwas aufrufen können, können Sie die Druckoption vollständig entfernen. Ich kann dir zeigen, wie. –

Antwort

0

Um meine Kommentare zu Ihrer Frage zu erweitern, können Sie festlegen, was im Exportmenü angezeigt wird, indem Sie das Attribut contextButton entweder in der globalen Highcharts.setOptions()-Funktion oder in Ihren lokalen Diagrammoptionen festlegen. Dadurch werden die Standard-Exportoptionen überschrieben, die vom exporting.js-Modul bereitgestellt werden.

Hier ist ein Beispiel unten, das das Exportmenü mit Optionen zum Exportieren des Diagramms als PNG, JPEG, SVG oder PDF, aber nicht zum Anzeigen der Druckschaltfläche füllen wird.

exporting: { 
    buttons: { 
     contextButton: { 
      text: 'Export', 
      menuItems: [ 
       { 
        text: 'Save as PNG', 
        onclick: function() { 
         this.exportChart(); 
        } 
       }, { 
        text: 'Save as JPEG', 
        onclick: function() { 
         this.exportChart({ type: 'image/jpeg' }); 
        } 
       }, { 
        text: 'Save as SVG', 
        onclick: function() { 
         this.exportChart({ type: 'image/svg+xml' }); 
        } 
       }, { 
        text: 'Save as PDF', 
        onclick: function() { 
         this.exportChart({ type: 'application/pdf' }); 
        }, 
       } 
      ] 
     } 
    } 
}, 

Ich habe eine Geige, die ich für eine andere Frage hier auf Stack-Überlauf geschaffen, die diese Optionen in Zusammenhang zeigt: http://jsfiddle.net/brightmatrix/00wrak9v/. In diesem Fall setze ich die lokalen Optionen contextButton, um Google Analytics-Ereignisse auszulösen. Sie können jedoch jede beliebige Art von Ereignis einfügen, wenn ein Benutzer eine bestimmte Exportoption auswählt oder bestimmte Optionen neu anordnet, hinzufügt oder entfernt .

Ich hoffe, das ist hilfreich für Sie!