Я работаю над проектом по созданию гистограмм, где по оси X мы динамически отображаем имена агентов и соответствующий статус сделки.
Итак, в гистограмме мы вызываем данные из базы данных и отобразите значения на гистограмме. До сих пор мне удавалось успешно вызывать первый набор данных: «Сделки открыты», «В процессе» и «Отмена». Однако проблема, с которой я столкнулся, связана с динамической передачей имени агента по оси X.
В приведенном ниже коде я просто жестко запрограммировал имена, но хочу, чтобы они могли отображаться из db и не жестко закодирован, а также должен отображать соответствующие предложения агентов.
Вот мой код:
public class ReportVM
{
public string AgentName { get; set; }
public int OpenClient { get; set; }
public int ClosedClient { get; set; }
public int InProgressClient { get; set; }
public int CancelClient { get; set; }
}
var thisWeekAgentPerform = db.Clients.Where(x => DbFunctions.TruncateTime(x.CleitnCreatedDate) >= thisWeekMonday
&& DbFunctions.TruncateTime(x.CleitnCreatedDate) c.AgentUname //this AgentName is from Client Model Class
).Select(b => new ReportVM()
{
AgentName = b.Key, //this AgnetName is from Report VM
OpenClient= b.Count(),
ClosedClient = b.Count(),
InProgressClient = b.Count()
}).ToList();
ViewBag.AgentThisWeekPerform = thisWeekAgentPerform;
Я работаю над проектом по созданию гистограмм, где по оси X мы динамически отображаем имена агентов и соответствующий статус сделки. Итак, в гистограмме мы вызываем данные из базы данных и отобразите значения на гистограмме. До сих пор мне удавалось успешно вызывать первый набор данных: «Сделки открыты», «В процессе» и «Отмена». Однако проблема, с которой я столкнулся, связана с динамической передачей имени агента по оси X. В приведенном ниже коде я просто жестко запрограммировал имена, но хочу, чтобы они могли отображаться из db и не жестко закодирован, а также должен отображать соответствующие предложения агентов. Вот мой код: [code]public class ReportVM { public string AgentName { get; set; }
public int OpenClient { get; set; } public int ClosedClient { get; set; } public int InProgressClient { get; set; } public int CancelClient { get; set; } } [/code] Контроллер, в котором я храню список в ViewBag: [code]var thisWeekAgentPerform = db.Clients.Where(x => DbFunctions.TruncateTime(x.CleitnCreatedDate) >= thisWeekMonday && DbFunctions.TruncateTime(x.CleitnCreatedDate) c.AgentUname //this AgentName is from Client Model Class ).Select(b => new ReportVM() { AgentName = b.Key, //this AgnetName is from Report VM OpenClient= b.Count(), ClosedClient = b.Count(), InProgressClient = b.Count() }).ToList(); ViewBag.AgentThisWeekPerform = thisWeekAgentPerform; [/code] Просмотр [code]
var datasetvalues = { labels: [AgentName],//x-axis label values (HERE I WANT TO PASS NAMES DYNAMICALLY) datasets: [OpenClient, ClosedClient, InProgressClient]//y-axis };
var chartOptions = { scales: { xAxes: [{ barPercentage: 1,//Percent (0-1) of the available width each bar should categoryPercentage: 0.6,//Percent (0-1) of the available width each category }], yAxes: [{ barPercentage: 1, categoryPercentage: 0.6, ticks: { beginAtZero: true } }], } };