2015-01-27 11 views
5

Ho problemi nel grafico di Google.Come aggiungere dinamicamente una riga a Google Chart con ciclo for

Sto usando asp.net Mvc. Dopo aver recuperato i dati dal controller, lo passo nel grafico di Google.

quando uso manuale dei dati, ad esempio

quando uso questo `

['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'], 
['2004/05', 165,  938,   522,    998,   450,  614.6], 

E 'Mostrami correttamente.

ma come posso aggiungere i miei dati in modo dinamico in tabella Google

questo è il mio codice

success: function (chartsdata) { 


      debugger; 
      for (var i = 0; i < chartsdata.length; i++) { 

       var data = google.visualization.arrayToDataTable([ 
           ['Element', 'Density', { role: 'style' }], 
           [chartsdata[i].MonthValue , chartsdata[i].CountValue, '#b87333'] 

       ]); 

       debugger; 
       var options = { 
        title: '', 

       }; 
       var chart = new google.visualization.ComboChart(document.getElementById('chartdiv')); 
       chart.draw(data, 
        options); 
      } 
+0

Come sono stati assegnati i dati dei grafici? – abiNerd

risposta

5

Il modo in cui si sta facendo è wrong.You dovrebbe fare qualcosa di simile di seguito:

var data=[]; 
var Header= ['Element', 'Density', { role: 'style' }]; 
data.push(Header); 
for (var i = 0; i < chartsdata.length; i++) { 
     var temp=[]; 
     temp.push(chartsdata[i].MonthValue); 
     temp.push(chartsdata[i].CountValue); 

     data.push(temp); 
    } 
var chartdata = new google.visualization.arrayToDataTable(data); 
3

è possibile utilizzare "google.visualization.DataTable()" e il suo "addRow()" Google code

var data = new google.visualization.DataTable(); 
data.addColumn('string', 'Month'); 
data.addColumn('number', 'Count'); 

for (var i = 0; i < chartsdata.length; i++) { 
    data.addRow([chartsdata[i].month, chartsdata[i].count]); 
} 
+1

Questo è stato facile e ha funzionato bene per me, grazie. – Scott