javascript - google-visualization-errors : container is null. 消息:一名或多名参与者未能绘制()

标签 javascript c# charts google-visualization

我尝试在网络应用中使用 Google 仪表板,但收到以下错误。

google-visualization-errors: container is null. message: One or more participants failed to draw()

我的代码类似于 Google Documentation代码建议,但我仍然面临错误。

我的 JS(通过 C# 生成)-

<script type='text/javascript'>
    google.charts.load('current', {
        'packages': ['corechart', 'controls']});

    google.charts.setOnLoadCallback(drawDashboard);

    function drawDashboard() {

        var data = google.visualization.arrayToDataTable([
            ['Status', 'Count'],
            ['Closed', 671],
            ['Resolved', 5],
            ['Test', 3]
        ]); //test///
        var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard_div'));

      var slider = new google.visualization.ControlWrapper({
            'controlType': 'NumberRangeFilter',
            'containerId': 'filter_div',
            'options': {
                'filterColumnLabel': 'Count'
            }
        });

        var pieChart = new google.visualization.ChartWrapper({
            'chartType': 'PieChart',
            'containerId': 'divIncidentStatus',
            'options': {
                'width': 300,
                'height': 300,
                'pieSliceText': 'value',
                'legend': 'right'
            }
        });

        dashboard.bind(slider, pieChart);
        dashboard.draw(data);

    }
</script>

HTML

 <div class="panel panel-default">
        <div class="panel-body">
            <div class="dashboard_div">
                <div class="filter_div"></div>
                <div id="divIncidentStatus"></div>
            </div>

        </div>
    </div>

P.S - 我尝试在 HTML DIV 之前和之后调用 JS 代码,但没有任何帮助。

最佳答案

看起来像是一个错字
需要设置id属性,而不是class
dashboard_divfilter_div

而不是...

    <div class="dashboard_div">
      <div class="filter_div"></div>
      <div id="divIncidentStatus"></div>
    </div>

更改为...

    <div id="dashboard_div">
      <div id="filter_div"></div>
      <div id="divIncidentStatus"></div>
    </div>

请参阅以下工作片段...

google.charts.load('current', {
  'callback': function () {
    var data = google.visualization.arrayToDataTable([
      ['Status', 'Count'],
      ['Closed', 671],
      ['Resolved', 5],
      ['Test', 3]
    ]);
    var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard_div'));
    var slider = new google.visualization.ControlWrapper({
      'controlType': 'NumberRangeFilter',
      'containerId': 'filter_div',
      'options': {
        'filterColumnLabel': 'Count'
      }
    });
    var pieChart = new google.visualization.ChartWrapper({
      'chartType': 'PieChart',
      'containerId': 'divIncidentStatus',
      'options': {
        'width': 300,
        'height': 300,
        'pieSliceText': 'value',
        'legend': 'right'
      }
    });
    dashboard.bind(slider, pieChart);
    dashboard.draw(data);
  },
  'packages': ['corechart', 'controls']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div class="panel panel-default">
  <div class="panel-body">
    <div id="dashboard_div">
      <div id="filter_div"></div>
      <div id="divIncidentStatus"></div>
    </div>
  </div>
</div>

关于javascript - google-visualization-errors : container is null. 消息:一名或多名参与者未能绘制(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38678008/

相关文章:

javascript通过从另一个集合中查找来更新mongodb记录多个字段

javascript - 使用 D3.js 嵌套数据

javascript - 需要 Node 中的单例实例

javascript - 如何删除shortId中的特殊字符

位图克隆上的 C# WinForms 内存不足异常

c# - API设计中如何避免 "too many parameters"问题?

c# - 为什么将 int 强制转换为无效的枚举值不会引发异常?

javascript - 当我在代码中包含 HighChart 的 3D 图表库时,x 轴、y 轴线不出现

javascript - Highchart 在 IE8 中不显示系列组

excel - 如何使用 xlsxwriter 创建没有 "Horizontal (Value) Axis"的图表