2015-03-19 47 views
0

我已經試過了我所知道的一切,但我似乎無法得到這個工作...Telerik Line Graph分類爲空

我的目標是顯示過去兩週提交的票。我已經完成了我MVC項目背面的所有邏輯,但我似乎無法正確顯示它。我只是得到一個空白的線圖,右邊的圖例。我提供了我的Razor代碼和JSON返回數據。請幫忙。謝謝。

@(Html.Kendo().Chart<NewTicketsTwoWeekGraph>() 
        .Name("TwoWeekTickets") 
        .DataSource(dataSource => dataSource 
           .Read(read => read.Action("NewTicketsData_Read", "Home")) 
        ) 
        .Series(series => 
        { 
         series.Line(d => d.TicketCount).Name("Ticket Count"); 
        }) 
        .CategoryAxis(axis => axis 
         .Categories(t => t.TicketDate).Date().BaseUnit(ChartAxisBaseUnit.Days) 
         .Labels(labels => labels.Rotation(-90)) 
         .Crosshair(c => c.Visible(true)) 
        ) 
        .ValueAxis(axis => axis.Numeric() 
         .Labels(labels => labels.Format("{0:N0}")) 
         .MajorUnit(10) 
        ) 
       ) 

JSON回報:

{"Data":[{"TicketCount":1,"TicketDate":"\/Date(1426651200000)\/","TicketDateString":"2015-03-18"}, 
{"TicketCount":2,"TicketDate":"\/Date(1426564800000)\/","TicketDateString":"2015-03-17"}],"Total":2,"AggregateResults":null,"Errors":null} 

回答

0

的問題是與發送的JSON數據備份。它不喜歡被包裹在「數據」數組中。

因此,我改變了我的ActionResult解決這個問題...

public ActionResult _NewTicketCtOverTwoWeeks_Read([DataSourceRequest]DataSourceRequest request, string username) 
    { 
     using (var ctx = new GuardianContext()) 
     { 
      var startDate = DateTime.Now.AddDays(-14); 
      var graphData = from ticket in ctx.TICKETS 
          where ticket.CREATED > startDate 
          group ticket by DbFunctions.TruncateTime(ticket.CREATED) 
           into a 
           orderby a.Key 
           select new TicketCount() { TicketCt = a.Count(), TicketDate = (DateTime)a.Key, TicketDateString = a.Key.ToString().Substring(0, 10) }; 
      return Json(graphData.ToList()); 
     } 
    } 

所以現在我的JSON請求返回以下...

[{"TicketCt":2,"TicketDate":"\/Date(1426564800000)\/","TicketDateString":"2015-03-17"},{"TicketCt":11,"TicketDate":"\/Date(1426651200000)\/","TicketDateString":"2015-03-18"},{"TicketCt":20,"TicketDate":"\/Date(1426737600000)\/","TicketDateString":"2015-03-19"}]