It should be used in the function that is publishing the chart, instead of
your var data = new google.visualization.DataTable(jsonData);

On Tue Aug 19 2014 at 10:03:18 AM Tiago Correia <[email protected]>
wrote:

> Thanks Sergey, but that function should be used on the file that is
> generating the json or in the file that is publishing the chart
>
> Terça-feira, 19 de Agosto de 2014 14:48:09 UTC+1, Sergey escreveu:
>>
>> This is actually pretty easy to achieve, especially if you just generate
>> a 2D array and use the arrayToDataTable method. Here's something to get you
>> started:
>> function jsonToTable(json, order) {
>>     var headers = [];
>>     var data = [headers];
>>     for (var i = 0; i < json.length; i++) {
>>         var row = [];
>>         for (var j = 0; j < order.length; j++) {
>>             if (headers.length <= j) {
>>                 headers.push(order[j]);
>>             }
>>             row.push(json[i][order[j]]);
>>         }
>>         data.push(row);
>>     }
>>     return google.visualization.arrayToDataTable(data);
>> }
>>
>> You can use it by writing something like:
>> var data = jsonToDataTable(jsonData, ['ESTADO', 'CNT']);
>>
>> On Tue Aug 19 2014 at 8:38:48 AM Tiago Correia <[email protected]>
>> wrote:
>>
> I'm using webmatrix to create a chart from my db. I have one cshtml file
>>>
>>>      var db = Database.Open("MyDB");
>>>      var data = @"SELECT ESTADO, COUNT(*) CNT FROM graficos WHERE ESTADO IS 
>>> NOT NULL GROUP BY ESTADO";
>>>      var resultadoSql = db.Query(data);
>>>      Json.Write(resultadoSql, Response.Output);
>>>      Response.ContentType = "application/json";
>>>
>>> That is producing this result
>>>
>>> [{"ESTADO":"ABERTO","CNT":63},{"ESTADO":"ASSOCIADO A AVARIA 
>>> PAI","CNT":9},{"ESTADO":"AVARIA PAI COM EM 
>>> EXECUÇÃO","CNT":3},{"ESTADO":"AVARIA PAI EM 
>>> DESPISTE","CNT":3},{"ESTADO":"CANCELADO","CNT":3},{"ESTADO":"EM 
>>> DESPISTE","CNT":18},{"ESTADO":"EM 
>>> EXECUÇÃO","CNT":27},{"ESTADO":"FECHADO","CNT":189},{"ESTADO":"RESOLVIDO","CNT":51}]
>>>
>>> And on the page that the chart will be displayed (yeap google charts :x)
>>>
>>>     // Load the Visualization API and the piechart package.
>>>     google.load('visualization', '1', {'packages':['corechart']});
>>>
>>>     // Set a callback to run when the Google Visualization API is loaded.
>>>     google.setOnLoadCallback(drawChart);
>>>
>>>     function drawChart() {
>>>       var jsonData = $.ajax({
>>>           url: "teste.cshtml",
>>>           dataType:"json",
>>>           async: false
>>>           }).responseText;
>>>
>>>       // Create our data table out of JSON data loaded from server.
>>>       var data = new google.visualization.DataTable(jsonData);
>>>
>>>       // Instantiate and draw our chart, passing in some options.
>>>       var chart = new 
>>> google.visualization.LineChart(document.getElementById('chart_div'));
>>>       chart.draw(data, {width: 800, height: 600});
>>>     }
>>>
>>> But i can't produce the chart it always says
>>>
>>> Table has no columns.×
>>>
>>> Then i've tried this that was on one example and it works, the chart is
>>> created with the values.
>>>
>>> {"cols":[
>>>     {"type":"string"},{"type":"number"}
>>>     ],"rows":[
>>>     {"c": [{ "v": "ABERTO"},{"v":63} ]},
>>>     {"c": [{ "v": "ASSOCIADO A AVARIA PAI"},{"v":9} ]},
>>>     {"c": [{ "v": "AVARIA PAI COM EM"},{"v":3} ]},
>>>     {"c": [{ "v": "Resolvido"},{"v":55} ]}
>>>     ]}
>>>
>>> And i was thinking that perhaps the json file must be outputed this way
>>> ? How can i achieve that ?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Google Visualization API" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>> To post to this group, send email to [email protected].
>>
>>
>>> Visit this group at http://groups.google.com/
>>> group/google-visualization-api.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Google Visualization API" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to
>> [email protected].
>> Visit this group at
>> http://groups.google.com/group/google-visualization-api.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-visualization-api.
For more options, visit https://groups.google.com/d/optout.

Reply via email to