I modify the server-side code. Here is new code:
            var jsonData = $.ajax({
                url: "js/chart.pl",
                dataType: "json",
contentType: "application/json",
                async: false
            }).responseText;

            var obj = jQuery.parseJSON(jsonData);
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Buy');
data.addColumn('number', 'Sell');
data.addRows(obj); 
Server send:

[["Date(2012,10,28)",15,14],["Date(2012,10,29)",55,51],["Date(2012,10,30)",53,49]]


I receive follow Error:
Type mismatch. Value Date(2012,10,28) does not match type date in column 
index 0

How to convert Date(2012,10,28) to date type?

Best regards,
Dragomir



27 ноември 2012, вторник, 23:17:04 UTC+2, asgallant написа:
>
> Can you modify the server-side code?  If so, then the best method might be 
> to build the DataTable as a JSON object (structure linked to in the post 
> above), which you can feed directly to the DataTable constructor.  There 
> are examples of this in PHP on the forum here; doing it in perl would 
> probably be similar.
>
> On Tuesday, November 27, 2012 2:37:10 PM UTC-5, Dragomir Haralambiev wrote:
>>
>> Hi.
>> Thanks for your replay.
>> You right if obj is generate from javascript.
>> What I do if obj is generate from AJAX like this:
>>             var jsonData = $.ajax({
>>                 url: "js/chart.pl",
>>                 dataType: "json",
>> contentType: "application/json",
>>                 async: false
>>             }).responseText;
>>
>>             var obj = jQuery.parseJSON(jsonData);
>>
>>
>> Best regards,
>> Fragomir
>> 27 ноември 2012, вторник, 18:55:07 UTC+2, asgallant написа:
>>>
>>> The 
>>> arrayToDataTable<https://developers.google.com/chart/interactive/docs/reference#google.visualization.arraytodatatable>method
>>>  doesn't handle dates properly; your dates are being input as 
>>> strings.  To fix this, you will have to manually construct the DataTable 
>>> (or use the 
>>> json<https://developers.google.com/chart/interactive/docs/reference#dataparam>format).
>>>
>>> Here's one way you could do it manually:
>>>
>>> var obj = [
>>>     [new Date(2012,10,2),15,14],
>>>     //....
>>> ];
>>> var data = new google.visualization.DataTable();
>>> data.addColumn('date', 'Date');
>>> data.addColumn('number', 'Buy');
>>> data.addColumn('number', 'Sell');
>>> data.addRows(obj);
>>>
>>> Note that the format for the date is as a Date object and not a string 
>>> when using this method.
>>>
>>> On Tuesday, November 27, 2012 5:37:44 AM UTC-5, Dragomir Haralambiev 
>>> wrote:
>>>>
>>>> I'm trying to test the Google Chart, but I receive follow error:
>>>> "One or more participants failed to draw().
>>>> The filter cannot operate on a column of type string. Column type must 
>>>> be one of: number, date, datetime or timeofday. Column role must be 
>>>> domain, 
>>>> and correlate to a continuous axis."
>>>>
>>>> What am I doing wrong?
>>>>  
>>>>
>>>>
>>>> <script type="text/javascript" src="
>>>> https://www.google.com/jsapi";></script>
>>>>     <script type="text/javascript">
>>>>
>>>>          google.load('visualization', '1.0', {'packages':['controls']});
>>>>         google.setOnLoadCallback(drawDashboard);
>>>>     
>>>>       function drawDashboard() {
>>>>  var obj = 
>>>> [["Date","buy","sell"],["Date(2012,10,2)",15,14],["Date(2012,10,3)",55,51],["Date(2012,10,4)",53,49]];
>>>>         var dataa = google.visualization.arrayToDataTable(obj);
>>>>         var dashboard = new 
>>>> google.visualization.Dashboard(document.getElementById('dashboard_div'));
>>>>
>>>>         var donutRangeSlider = new google.visualization.ControlWrapper({
>>>>           'controlType': 'ChartRangeFilter',
>>>>           'containerId': 'filter_div',
>>>>           'options': {
>>>>      'filterColumnIndex': 0,
>>>>      'ui': {
>>>>       'chartType': 'LineChart',
>>>>       'chartOptions': {
>>>>         'chartArea': {'width': '90%'},
>>>>         'hAxis': {'baselineColor': 'none'}
>>>>       },
>>>>       'chartView': { 'columns': [0, 1] },
>>>>       'minRangeSize': 86400000
>>>>     }
>>>>           },
>>>>         });
>>>>
>>>>         var lineChart = new google.visualization.ChartWrapper({
>>>>           'chartType': 'LineChart',
>>>>           'containerId': 'chart_div',
>>>>           'options': {
>>>>                 title: 'Title',
>>>>           }
>>>>         });
>>>>
>>>>         dashboard.bind(donutRangeSlider, lineChart);
>>>>         dashboard.draw(dataa);
>>>>       }    
>>>> </script>
>>>>
>>>> Best regards,
>>>> Dragomir
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-visualization-api/-/eHDYTeHon_kJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to