剑道饼图仅显示空白区域

时间:2015-06-02 08:08:47

标签: c# asp.net-mvc-4 telerik kendo-asp.net-mvc pie-chart

尽管在互联网上搜索了所有内容。我无法找到我的代码有什么问题。 我只是试图用我数据库中的数据填充我的馅饼。这是我的代码:

DataAccess功能: (这是我得到的所有数据填充我的馅饼)

   public static IEnumerable<PieModel> getTypesForStatistics()
    {
        var dbo = new UsersContext();
        var all = (from a in dbo.Note
                      select a).ToList();
        var results = all.GroupBy(item => item.language.lang)
                         .Select(g => new PieModel
                         {
                             Language = g.Key,
                             Count = g.Count()
                         });
        return results.ToList();

    }

我创建的模型:

   public class PieModel
    {
        public string Language { get; set; }
        public int Count { get; set; }
        // example : English,4 | Spanish,16 | German, 2 etc
    }

在我的控制器中:

  public class StatisticsController : Controller
    {
        //
        // GET: /Statistics/

        public ActionResult Index()
        {
            return View();      
        }

        [HttpPost]
        public ActionResult displayChart()
        {
            var results = Json(DAL.StatisticsAccess.getTypesForStatistics()); 
            return Json(results);
        }

    }

最后我的观点是:

@(Html.Kendo().Chart<DevelopmentNotesProject.Models.PieModel>()
        .Name("chart")
                .Title(title => title
                    .Text("")
                    .Position(ChartTitlePosition.Bottom))
        .Legend(legend => legend
            .Visible(false)
        )
                   .DataSource(ds => ds.Read(read => read.Action("displayChart", "Statistics")))
            .Series(series =>
            {
                series.Pie( model => model.Count,model => model.Language);
            })
        .Tooltip(tooltip => tooltip
            .Visible(true)
            .Format("{0}%")
        )


    )

感谢您提前阅读我的代码。

1 个答案:

答案 0 :(得分:0)

我找到了一个很好的解决方案,以不同的方式做事:

控制器:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
</dependency>

观点:

public ActionResult Index()
{
    IEnumerable <PieModel> pieModel = DAL.StatisticsAccess.getTypesForStatistics();
    return View(pieModel);      
}

[HttpPost]
public ActionResult displayChart() // no longer used
{
    var results = Json(DAL.StatisticsAccess.getTypesForStatistics()); 
    return Json(results);
}