2016-11-25 5 views
1

バーがクリックされてもうまくいけば、チャイルドウィンドウを閉じて同じバーをもう一度クリックするとグラフがフリーズする問題があります。しかし、最初に、私はバーが選択されたときに再びリスナーをクリックした後にGoogleグラフがフリーズする

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

    function drawBasic() { 

     var data = google.visualization.arrayToDataTable([ 
      ['Year', 'Remaining Items Per LOT', { role: 'style' }], 

<% 
    Dim intValue As Integer = CInt(Rnd() * 32768) 
    Dim myRandom as New Random 
    Dim graphXSplitted As String() = graphX.Split(New String() {"|"}, StringSplitOptions.None) 
    Dim graphYSplitted As String() = graphY.Split(New String() {"|"}, StringSplitOptions.None) 
    Dim plot As String = "" 
    For index As Integer = 0 To graphXSplitted.Length - 2 
     plot += "[""" & graphXSplitted(index) & """, " & graphYSplitted(index) & ", 'stroke-color: #000000; stroke-width: 2; fill-color: #" & Hex$(myRandom.Next(1118481,8388607)) & "']," 
    Next 
    Response.Write(plot.Remove(plot.Length - 1)) 
%> 
     ]); 

     var options = { 
      title: 'Wakugai Inventory Items', 
      height: 300, 
      hAxis: { 
       title: 'Part Names', 
       direction: -1, 
       slantedText: true, 
       slantedTextAngle: 45, 
       textStyle: { fontSize: 12 } 
      }, 
      vAxis: { 
       title: 'Remaining (LOT)' 
      }, 
      chartArea: { left: 130, top: 10, height: '30%' } 
     }; 

     var chart = new google.visualization.ColumnChart(document.getElementById('chart_div')); 

     chart.draw(data, options); 

     google.visualization.events.addListener(chart, 'select', function() { 
      var category = data.getValue(chart.getSelection()[0].row, 0); 
      window.open("graph.aspx?x=" + category + "", "Popup", "height=400,width=1000"); 
     }); 

    } 
</script> 

答えて

0

'select'イベントが発射され、両方の

を非選択したのと同じバーをクリックするまで、バーは、その後、それが凍結しない別の異なるバーをクリックしてクリックした場合

最初のクリックは、バー

再び同じバーをクリックし、「非選択」バーのような

、SELのlengthをチェックする必要がある「を選択します」 ection何も

google.visualization.events.addListener(chart, 'select', function() { 
    var selection = chart.getSelection(); 
    if (selection.length > 0) { 
    var category = data.getValue(selection[0].row, 0); 
    window.open("graph.aspx?x=" + category + "", "Popup", "height=400,width=1000"); 
    } 
}); 
+0

を選択されていないときchart.getSelection()[0]が、私は方法を発見した不定となりますので – user1260572

+0

google.visualization.events.addListener(チャートを用いて、配列の内容

にアクセスする前に、()関数を「選択」 { var category = data.getValue(chart.getSelection()[0] .row、0);window.open( "graph.aspx?x =" +カテゴリ+ "" "ポップアップ"、 "高さ= 400、幅= 1000"); chart.setSelection(); // <==選択をNULLにします }); – user1260572

+0

あなたの返信にはTQ、遅く返信して申し訳ありません – user1260572

関連する問題