在像Crystal Reports这样的报表工具中,有一些方法可以获取非规范化的数据,并按数据中的特定列对其进行分组,为指定列中的每个唯一项创建行标题。
如果我有这个:
Category1 Data1
Category1 Data2
Category1 Data3
Category2 Data4
Category2 Data5
Category2 Data6
报告软件将其分组如下:
Category1
Data1
Data2
Date3
Category2
Data4
Data5
Data6
有没有一种方法可以在ASP.NETMVC视图中做到这一点,也许使用一个简单的linq短语或带有foreach或嵌套foreach的linq扩展方法?
3条答案
按热度按时间4urapxun1#
如果你的视图是强类型的,你可以使用带有嵌套foreach的LINQ GroupBy扩展方法:
这将提供与原始问题中的格式化列表非常相似的输出。它假设你的模型看起来像这样:
qni6mghb2#
vxf3dgd43#
将LINQ GroupBy与嵌套foreach一起使用
视图模型示例:
视图