c# - View 中的 LINQ 查询以升序或降序排列类别的金额总和
问题描述
我有一个带有交易列表的模型。每笔交易都有类别和交易金额。
在我的视图页面中,我正在从模型创建一个表格,该表格显示在表格的每一行中:
类别 1 - SumofTransactionAmounts1
Category2 - SumofTransactionAmounts2
Category3 - SumofTransactionAmounts3
我能够做到这一点。但是,如何通过 SumofTransactionAmounts 的升序/降序对行进行排序?
@foreach (var item in Model.MyTransactions.groupby(x => x.Category).ToList())
{
<tr>
<td>@item.key</td>
<td>@Model.MyTransactions.Where(x => x.Category == item.key).ToList().Sum(x => x.TransactionAmount)</td>
</tr>
}
解决方案
您可以通过以下命令来实现它IEnumerable<IGrouping<>>
:
@foreach (var item in Model.MyTransactions.GroupBy(x => x.Category).OrderBy(g => g.ToList().Sum(i => i.TransactionAmount)))
{
<tr>
<td>@item.key</td>
<td>@item.ToList().Sum(x => x.TransactionAmount)</td>
</tr>
}
推荐阅读
- c# - 如何创建链接按钮以从网格视图中删除一行
- flutter - 如何在 CustomScrollView 中的另一个小部件上检测定位小部件上的点击(或任何其他手势事件)?
- c# - 从子类(或子对象)C# 和 ASP.NET MVC 搭建视图
- flutter - 如何将图标按钮动态更改为字符串或表情符号
- java - 使用spring boot hashmap创建动态对象
- visual-studio - 用于本地调试 VS 2019 的 Azure 函数流式处理日志
- arrays - 从符号矩阵到数值的大量替换,同时将 4 个未知数保留到新矩阵中
- docker - 从 Windows 主机共享目录到 Kubernetes 容器(使用 Docker 桌面)
- php - 使用 mysqli_stmt_bind_result 时在哪一行检查数据获取是否成功?
- .net - Powershell cmdlet 与 .NET