尽管在互联网上搜索了所有内容。我无法找到我的代码有什么问题。 我只是试图用我数据库中的数据填充我的馅饼。这是我的代码:
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}%")
)
)
感谢您提前阅读我的代码。
答案 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);
}