Стойности за дати от MS SQL заявка в Google Charts (Razor)

Надявам се прост въпрос, на който някой може да отговори. Опитвам се да създам графика на Google Charts, която взема резултатите от 2 колони на заявка на SQL сървър и ги начертава по ос X-Y.

Първата колона (стойностите x на моята графика) са дати, които са в следния формат: 4/5/2014 12:00:00 AM, а втората колона (стойностите y) са стандартни плаващи числа. Преобразувам тези резултати в json-форматиран низ, необходим за диаграмите на Google със следния анализатор на asp.net:

DataTable dt = new DataTable();
         {
         conn.Open();
         using (SqlDataAdapter adapter = new SqlDataAdapter("select game_date, fb_avg_velo, cb_avg_velo, ch_avg_velo, sl_avg_velo, oth_avg_velo from pitching_speed where player_code = 'bjones' order by game_date asc", conn))
                {
                    adapter.Fill(dt);

                    List<string> rowsList = new List<string>();
                    foreach (DataRow row in dt.Rows)
                    {
                        rowsList.Add("[" + row["game_date"] + ", " + row["fb_avg_velo"] + "]");
                    }
                    rows = String.Join(", ", rowsList);
                }
     }

След това използвам следната функция на javascript, за да попълня таблица с данни, за да създам моята графика:

 function drawChart() {
    var data1 = new google.visualization.DataTable()
    data1.addColumn('date', 'Date');
    data1.addColumn('number', 'Velocity');
    data1.addRows([@Html.Raw(rows)]);

    var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
    chart.draw(data1, {
        title: 'Fast Ball Speed by Date',
    });

Проблемът е, че не мисля, че Google Charts разпознава моя формат на дата, така че графиката не се изобразява. Знам, че има функция Date() в javascript, но не знам как да я приложа в този случай.


person Binches    schedule 23.01.2015    source източник


Отговори (1)


Вижте „Правилният“ JSON формат за дата за това как да форматирате датата. Опитайте row["game_date"].ToString("O") в C#.

person Rhys Jones    schedule 24.01.2015