2016-10-20 4 views
0

Ich verwende den asyn-Drilldown in Highcharts. Als ich aufreißen ich einen Dienst anzurufenden Daten zu erhalten und die Serie zu aktualisieren (in dem Drill-Down-Ereignisse)Daten beim Hochbohren dynamisch zur oberen Ebene in Highcharts hinzufügen

drilldown: function(e) { 
    ..... 
    // Service call to get data for the chart 
    clientObj.getAggData(srcTbl, fields, function(res) { 

    // data returned from service is set to the chart series 
    chart.addSeriesAsDrilldown(e.point, res); 

    }, nextLevel, filterStr); 
} 

Dieser Teil funktioniert gut. Ich möchte etwas Ähnliches tun, wenn ich auch bohre.Ich möchte Service anrufen und Daten für die Top-Level-Serie, die im 'Drillup' -Ereignis des Diagrammobjekts getan werden müssen.

Derzeit sind die Daten in chart.drilldownLevels.series gespeichert, wenn ich drill-up bin. Wenn ich versuche, die addSeries-API zu verwenden, fügt sie eine weitere Reihe zusätzlich zu der in chart.drilldownLevels.series gespeicherten hinzu.

Andere APIs wie update() funktionieren nicht.

+0

Können Sie diese Live, z. auf jsfiddle? – morganfree

Antwort

1

Sie den Bohrer verwenden können Ereignis für die gleichen und weisen Sie den Wert für die notwendigen Ebenen,

events: { 
    drillup: function(e) { 
     this.options.series[0].data[0] = { 
     name: 'Databases', 
     y: 20, 
     drilldown: 'dbs' 
     } 
    } 
    } 

Bei der Erstellung eines neuen Datenpunkt Hinzufügen sollten Sie rufen this.series[0].setData()

this.series[1].setData([{ 
      name: 'Dieren', 
      y: 5, 
      drilldown: 'animals' 
      }, { 
      name: 'Fruit', 
      y: 2, 
      drilldown: 'fruits' 
      }, { 
      name: "Auto's", 
      y: 4 
      }, { 
      name: "test's", 
      y: 4 
      }], false, false); 

DEMO

DEMO USING CUSTOM Button

Verwandte Themen