【问题标题】:Telerik Line Graph Categories NullTelerik 折线图类别 Null
【发布时间】:2015-03-19 12:10:31
【问题描述】:

我已经尝试了所有我知道的方法,但我似乎无法让它发挥作用......

我的目标是显示过去两周内提交的票证。我已经完成了 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}

【问题讨论】:

    标签: json asp.net-mvc telerik


    【解决方案1】:

    问题在于返回的 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"}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多