Гистограмма кендо не показывает данные
Изо всех сил пытается отобразить данные из модели в гистограмму Kendo. Я хочу, чтобы гистограмма отображала результаты, как показано на следующем рисунке.
Контроллер возвращает действительные данные, но диаграмма не может правильно отобразить данные.
Модель
public class FeeCollectionViewModel
{
[Key]
public int FeeCollectionID { get; set; }
public int StudentID { get; set; }
public int FeeModeID { get; set; }
public int FeeTypeID { get; set; }
public string FeeTypeName { get; set; }
public double Amount { get; set; }
public DateTime CollectionDate { get; set; }
}
Вот вид
@using Kendo.Mvc.UI
@using Kendo.Mvc.Extensions
@{
ViewBag.Title = "Fee Statistics";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Fee Statistics</h2>
@(Html.Kendo().Chart<SMS.ViewModels.FeeCollectionViewModel>()
.Name("chart")
.Title("Today's Collection")
.Legend(legend => legend
.Position(ChartLegendPosition.Top)
)
.DataSource(ds => ds
.Read(read => read.Action("TodaysCollection_Read", "FeeCollections"))
.Group(group => group.Add(model => model.FeeTypeName))
)
.Series(series =>
{
series.Column(model => model.Amount).Name("Amount Collected");
})
.CategoryAxis(axis => axis
.Categories(model => model.FeeTypeName)
.Labels(labels => labels.Rotation(-90))
.MajorGridLines(lines => lines.Visible(false))
)
.ValueAxis(axis => axis.Numeric()
.Labels(labels => labels.Format("{0:N0}"))
.MajorUnit(10000)
.Line(line => line.Visible(false))
)
.Tooltip(tooltip => tooltip
.Visible(true)
.Format("{0:N0}")
)
)
1 ответ
Я думаю, вы не анализируете данные для ввода диаграммы. Я создаю объект по входной диаграмме и передаю данные.
Кендо чарт не выполняет групповую сумму. Мне пришлось сделать это в контроллере и передать полученную модель на график.
List<FeeCollectionChartViewModel> result = (from f in feeCollections
group f by f.FeeTypeName into g
select new FeeCollectionChartViewModel()
{
FeeTypeName = g.Key,
Amount = g.Sum(x => x.Amount)
}).ToList();
return Json(result)