| 

.NET C# Java Javascript Exception

5
Ich bin dabei, mit Hilfe der "Google Chart Tools" eine Table anzeigen zu lassen.
Die Werte kommen aus einer CSV Datei.

Leider komme ich aktuell nicht weiter.
Firebug gibt als Fehler: "data.addColumn is not a function"

Ich weiß nur derzeit nicht, wie ich das anders machen soltle, als ich das jetzt habe.

#########

UPDATE: Nun läuft alles Rund!
Hier der Code, wie alles funktioniert!
Hier der JavaScript Code:
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>

google.load('visualization', '1', {packages:['table']});
google.setOnLoadCallback(drawTable);

function drawTable() {


$.get('/test/<?php echo $tableDataFile;?>', function(csv) {
var data = new google.visualization.DataTable();
// Split the lines
var lines = csv.split('\n');
var countLines = lines.length;

$.each(lines, function(lineNo, line) {

if (lineNo == 0) {
var items = line.split(';');
var len = items.length;

for(var i=0; i<len; i++) {
var value = items;
//alert("lineNo: " + lineNo + " i: " + i + " value: " + value);
data.addColumn('string', value);
}
data.addRows(2);
}

else {
var items = line.split(';');

var len = items.length;

for(var i=0; i<len; i++) {
var value = items;
//alert("lineNo: " + lineNo + " i: " + i + " value: " + value);
data.setCell(lineNo-1, i, value);
}
}

});


var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, {showRowNumber: true});
})
} // drawTable() END


</script>
[/code]

PS:
Ich habe dies als Beispiel genommen und an meine Bedürfnisse versucht umzubauen:
http://code.google.com/intl/de-DE/apis/chart/interactive/docs/gallery/table.html
10.02.2012
chrispo 275 7
2 Antworten
1
Hi,

ich denke du überschreibst dein Objekt data

Hier erzeugst du das Google DataTable Objekt, ob der Syntax richtig ist sei mal dahingestellt
var data = new google.visualization.DataTable();


Weiter unten dann folgende Zeile
$.get('/test/<?php echo $tableDataFile;?>', function(data) {
...
data.addColumn('string', value);
....
});


Wie du siehst ist im unteren Teil ein 'function(data)' - die Variable data enthält dabei nur Daten die von dem $.get Request zurück kommen. Du versuchst danach also nicht mehr auf dein DataTable von weiter oben zuzugreifen, sondern auf den data Parameter von der $.get Funktion.

Benenne mal bitte deine Variable oben um, var dataTable oder so und probiere es dann erneut.

Gruß

PS: Bei weiteren Fragen / Kommentaren editiere bitte deine Frage oder ergänze meine Antwort durch die Kommentar Funktion
10.02.2012
Nicolai Schönberg 2,4k 2 9
1
Hi Nicolai, richtig. Das hatte ich bereits gemerkt :)
Danach hatte ich noch einen anderen kleinen dummen Fehler... aber nun läuft alles bestens.

Funktionierender Code ist nun in meinem ersten Beitrag zu lesen. Danke Dir!
chrispo 10.02.2012
0
__ kann gelöscht werden, da ich meinen ersten beitrag editiert habe __
10.02.2012
chrispo 275 7

Stelle deine Javascript-Frage jetzt!