На диаграмме Kendo нет данных

122
9

Борьба с отображением данных из Модели в диаграмму Kendo Bar. Я хочу, чтобы на диаграмме отображались результаты, как показано на следующем рисунке

enter image description here

Контроллер возвращает достоверные данные, но диаграмма не позволяет правильно отобразить данные.

Модель

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 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}")
)
)

спросил(а) 2021-01-19T17:38:45+03:00 2 месяца, 3 недели назад
1
Решение
114

Kendo Chart не выполняет групповую сумму. Я должен был сделать это в контроллере и передать полученную модель диаграмме.

    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)

ответил(а) 2021-01-19T17:38:45+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема