So I’m trying to use this javascript with my asp.net website https://google-developers.appspot.com/chart/interactive/docs/gallery/linechart
I have an array in codebehind that has my data which i converted to a multidimensional datatable like this.
<in codebehind vb>
Public Property datat As DataTable
For outerIndex As Integer = 0 To 2
Dim newRow As DataRow = table.NewRow()
For innerIndex As Integer = 0 To 2
newRow(innerIndex) = Array(outerIndex, innerIndex)
Next
table.Rows.Add(newRow)
Next
datat = table
<in asp>
function drawChart() {
var data = <%=datat%>
I always get an error datatable not defined.
My new work
<in asp>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawcharts);
function drawcharts() {
var data = google.visualization.arrayToDataTable([
['X', 'MW'],
[<%=mwtimepublic%>, <%=mwarraypublic%>]
]);
var options = {
title: 'MW Trend'
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
});
</script>
Public Function Dtable() As DataTable
Dim startdate As String
Dim enddate As String
If FirstRun = False Then
datat.Clear()
End If
If FirstRun = True Then
FirstRun = False
enddate = Date.Today
startdate = DateAdd(DateInterval.Day, -20, Date.Today)
Else
enddate = TextBox2.Text
startdate = TextBox1.Text
End If
'<confidential code></confidentialcode>
Dim mwaray(pdata.Count)
Dim mwtime(pdata.Count)
Dim table As New DataTable
table.Columns.Add("X")
table.Columns.Add("MW")
Dim i As Integer
Dim x As Integer
For i = 1 To pdata.Count
mwaray(i) = pdata(i).Value
If mwaray(i) > upperlimit Then
upperlimit = mwaray(i) + 50
End If
Next
For i = 1 To pdata.Count
mwtime(i) = "'" & pdata(i).TimeStamp.LocalDate.Month.ToString() & "/" & pdata(i).TimeStamp.LocalDate.Day.ToString() & "/" & pdata(i).TimeStamp.LocalDate.Year.ToString() & " " & pdata(i).TimeStamp.LocalDate.TimeOfDay.Hours.ToString() & ":" & pdata(i).TimeStamp.LocalDate.TimeOfDay.Minutes.ToString() & ":" & pdata(i).TimeStamp.LocalDate.TimeOfDay.Seconds.ToString() & "'"
Next
For i = 1 To pdata.Count
mwarraypublic.Add(mwaray(i))
Next
For i = 1 To pdata.Count
mwtimepublic.Add(mwtime(i))
Next
End Function
I’m still not getting the chart to draw
I made a video on how to create a jquery ui autocomplete while getting an array to javascript from codebehind
skip to 6:00 to see how I made the array
http://www.youtube.com/watch?v=ULHSqoDHP-U&list=UUgtKyNvllU9E6c2Mi8OtzCQ&index=6&feature=plcp
update:
Google actually converts an array of arrays into a datatable.
In other words, you have to return an array of rows, and the rows them self are an array of column values.
So in you code behind you do the following
first import webservices
then create your webmethod with a function that returns an arraylist
Then in javascript
make sure you have a script manager on the page with pagemethods enabled.