Ich versuche, ein sehr einfaches Balkendiagramm mit den Ergebnissen einer JSon-Aktionsmethode in MVC zu erstellen. Ich bekomme das eigentliche Balkendiagramm, aber ich verstehe die Optionen nicht und alles gut genug, also rate ich im Grunde, was ich tun soll. Ich habe das Beispiel auf der HighCharts-Site als Beispiel dafür verwendet, wie man Daten vom Server-Code bezieht und ein Diagramm erstellt. Der Unterschied ist, dass mein Diagramm einfacher als das Beispiel ist. Ich habe keine Kategorien für jeden Benutzer (wie im Beispiel der Frucht), ich habe nur einen Benutzer und eine Anzahl von Stunden protokolliert.Einfaches Balkendiagramm in jQuery HighCharts und MVC 2-Anwendung?
Hier ist der HighCharts jQuery-Code:
function getHighChart() {
var actionUrl = '<%= Url.Action("GetChartData") %>';
var customerId = $('#customersId').val();
var startdate = $('.date-pickStart').val();
var enddate = $('.date-pickEnd').val();
var options = {
chart: {
renderTo: 'chart-container',
defaultSeriesType: 'bar'
},
title: {
text: 'Statistik'
},
xAxis: {
categories: []
},
yAxis: {
title: {
text: 'Timmar'
}
},
series: []
}
jQuery.getJSON(actionUrl,
{ customerId: customerId, startdate: startdate, enddate: enddate }, function (items) {
var series = {
data: []
};
$.each(items, function (itemNo, item) {
series.name = item.Key;
series.data.push(parseFloat(item.Value));
});
options.series.push(series);
var chart = new Highcharts.Chart(options);
});
}
Und hier ist die Aktion-Methode JSon Rückkehr:
public JsonResult GetChartData(string customerId, string startdate, string enddate)
{
int intcustomerId = Int32.Parse(customerId);
var emps = from segment in _repository.TimeSegments
where
segment.Date.Date >= DateTime.Parse(startdate) &&
segment.Date.Date <= DateTime.Parse(enddate)
where segment.Customer.Id == intcustomerId
group segment by segment.Employee
into employeeGroup
select new CurrentEmployee
{
Name = employeeGroup.Key.FirstName + " " + employeeGroup.Key.LastName,
CurrentTimeSegments = employeeGroup.ToList(),
CurrentMonthHours = employeeGroup.Sum(ts => ts.Hours)
};
Dictionary<string, double > retVal = new Dictionary<string, double>();
foreach (var currentEmployee in emps)
{
retVal.Add(currentEmployee.Name, currentEmployee.CurrentMonthHours);
}
return Json(retVal.ToArray(), JsonRequestBehavior.AllowGet);
}
konnte ich ein Kreisdiagramm erstellen, aber jetzt, wenn ich will ein einfach erstellen bar Ich kann nicht herausfinden, was im jQuery-Code enthalten ist. Die Ergebnisse, die ich erhalte, sind also eine Leiste, in der der einzige in der Legende aufgeführte Benutzer der letzte im Array ist. Zweitens zeigt der Tooltip x = [Name des Benutzers], y = 29, anstelle von [Name des Benutzers]: 29, was ich in das Tortendiagramm bekommen habe.
Wie würde ich solch ein einfaches Balkendiagramm in HighCharts von diesem JSon erstellen?
Dank. es hat für mich funktioniert .. :) –