0

私はそのように見える私のコントローラでC#で配列を作成します:

[["test", "atest", "btest", "ctest"],["1","2","3","4"]...]

したがって、これは配列の配列です。次に、それを ViewBag.TabComplet という名前のViewBagのビューに渡します。次に、次のように、そのデータの配列を Google チャートの視覚化に渡す必要があります。

google.load("visualization", "1", { packages: ["corechart"], callback: drawVisualization() });
function drawVisualization() {
    var data = google.visualization.arrayToDataTable(@ViewBag.TabComplet);
    var options = {
        title: "Nombres d'incidents ouverts en Hotline en 2013",
        vAxis: { title: "Cups" },
        hAxis: { title: "Month" },
        seriesType: "bars",
        series: { 2: { type: "line"} },
        colors: ["blue", "#01A9DB", "red"]
    };
    var chart = new google.visualization.ComboChart(document.getElementById("chart_div"));
    chart.draw(data, options);
}

しかし、残念なことに、次のようなエラーが表示されます: Unexpected Token ] 誰かが解決策を持っていますか?

4

1 に答える 1

0

私は解決策を見つけました。興味のある方は、javascript 関数arrayToDataTable が各列のデータの型を分析し、表示したいデータが int でない場合、エラーが表示され、データが正しい型ではないことが示されます。その関数の使用を避けたい場合は、さまざまな関数addRowaddColumn、.. を使用して、データの正しい配列をほとんど構築できません。それによると、コントローラーに関数を作成し、ajax 呼び出しによって呼び出され、次のような JSON 配列を返します。

[["Mois","Nombre incidents","Nombre incidents pris en direct"],["Jan",15,2],["Fév",9,5],["Mar",14,3],["Avr",19,9],["Mai",9,8],["Juin",12,6],["Juil",13,5],["Aoû",4,3],["Sept",11,0],["Oct",0,0],["Nov",0,0],["Dec",0,0]]

ご覧のとおり、これは配列の配列であり、最初の配列は後続の各データのラベルであり、各配列の最初の値は文字列であり、データの各配列の X 軸のラベルになります。

JSON をチャートのソースとして直接渡すことができます。それを解析して JavaScript 配列にする必要はありません。

于 2013-09-20T07:59:34.793 に答える