У меня есть сводный обзор заявления, что мне нужно показать общий баланс на счете клиентов по месяцам и годам.ASP.Net MVC - Razor Отображение итогов счета для клиентов по месяцам/годам Столбцы
Я создал запрос linq и просмотрел модели, которые успешно извлекают эти данные из базы данных.
Я хочу отобразить эти данные в виде таблиц, например.
Посмотреть Желаемая
var monthlyTotals = from t in db.InvoiceItems.AsEnumerable()
// where t.Invoice.LegalFile.IsClosed == false
group t by t.Invoice.LegalFile.Client into g
select new StatementSummaryVM
{
Client = g.Key,
GrandTotal = g.Sum(x => x.AmountInclVAT),
MonthlyTotals = from i in g
group i by new
{
month = i.ItemDate.Month,
year = i.ItemDate.Year
}
into d
select new MonthlyTotalsVM
{
Date = new DateTime(d.Key.year, d.Key.month,1),
Amount = d.Sum(s => s.AmountInclVAT)
}
};
return monthlyTotals;
}
Мой вид Модель
public class StatementSummaryVM
{
[Display(Name = "File No.")]
public int Id { get; set; }
public Client Client { get; set; }
public IEnumerable<MonthlyTotalsVM> MonthlyTotals { get; set; }
[Display(Name = "Grand Total")]
[DisplayFormat(DataFormatString = "{0:C}")]
public decimal GrandTotal { get; set; }
}
public class MonthlyTotalsVM
{
[DisplayFormat(DataFormatString = "{0:MMM-yyyy}")]
public DateTime Date { get; set; }
[DisplayFormat(DataFormatString = "{0:C}")]
public decimal Amount { get; set; }
}
Мой текущий вид Код
<table class="table">
<tr>
<th>File No.</th>
<th>Client</th>
<th>Grand Total</th>
@foreach (var item in Model)
{
<th></th>
foreach (var monthlyTotal in item.MonthlyTotals)
{
<th>@Html.DisplayFor(model => monthlyTotal.Date)</th>
}
}
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Client.Id</td>
<td>@item.Client.Name </td>
<td>@item.GrandTotal</td>
@foreach (var monthlyTotal in item.MonthlyTotals)
{
<td>@Html.DisplayFor(model => monthlyTotal.Date)</td>
<td>@monthlyTotal.Amount</td>
}
</tr>
}
</table>
который выглядит при визуализации
Текущий Rendered Вид1:
Im изо всех сил, чтобы получить это правильно отобразить.
Любая помощь будет действительно было оценено
Первое, что вам нужно сделать, это удалить '
Привет, Стивен. Абсолютно. Я только оставил его там, чтобы помочь мне посмотреть, какая дата месячной модели, поэтому я могу попытаться выяснить, как структурировать представление. –
Итак, что вы пытаетесь сделать? Вы показали 2 изображения, которые вообще не имеют отношения друг к другу. Если последнее изображение является «реальным» данным, то какова должна быть ваша таблица? –