如何在数据更改高图上更新数据表

时间:2019-03-06 22:17:21

标签: javascript highcharts

我有一个饼图,使用下面的代码可以在单击按钮时进行动态更新。

在按钮上单击

   $("#myChart").highcharts().series[0].setData($.extend(true, [], data1)) 

我正在使用键填充数据表。

 keys: ['Count','Value'],

这可以正常工作并更新图表,但我还在导出菜单中启用了导出数据表,但是该数据表没有更新。在所有连续的按钮单击中保持不变。

如何通过单击按钮更新数据表以显示新数据的数据。

这是一个小提琴,但是它实际上并没有使用按钮,而只是让您了解我的图表:https://jsfiddle.net/mewohraz/1/

更新:以下解决方案有效,但是我不得不注释掉我用来切换viewData表的这段代码。如果您再次单击viewData,它可以关闭表格。如何通过chart.viewData()使用它?

Highcharts.Chart.prototype.viewData = function () {
    if (!this.insertedTable) {
        var div = document.createElement('div');
        div.className = 'highcharts-data-table';
        // Insert after the chart container
        this.renderTo.parentNode.insertBefore(div, this.renderTo.nextSibling);
        div.innerHTML = this.getTable();
        this.insertedTable = true;
        div.id = this.container.id + '-data-table';
    }
    else {
        $('#' + this.container.id + '-data-table').toggle();
    }
};

1 个答案:

答案 0 :(得分:1)

您需要调用viewData内部方法来刷新数据表:

$('#update').on('click', function() {
    var data1 = [...];

    chart.series[0].setData(data1);
    chart.viewData();
});

实时演示:https://jsfiddle.net/BlackLabel/ahowu9tm/