繁体   English   中英

视图中的行距(mvc4)

[英]Rowspan in the view (mvc4)

我正在使用带有实体框架的MVC 4。 我有以下问题。

我在视图中的原始数据以这种方式显示:

id | name| email| roles| modules
1|name1| email1| role1| module1
1| name1| email1| role2| module1
1| name1| email1|role3| module1

我需要做的是这样的跨度

id | name| email| roles| modules
1|name1| email1| role1, role2, role3| module1

我相信最好在控制器中创建它而不是在视图中创建它。 如果是这样,如何使用Linq或简单列表进行操作?

您需要的只是GroupBy :-

IEnumerable<TestForms.Models.v_HmsUnacceptedForms> result = data.GroupBy(x => x.id)
                 .ToList()   //To force run projection in memory.
                 .Select(x => 
               {
                     var firstRecord = x.FirstOrDefault();
                     return new TestForms.Models.v_HmsUnacceptedForms
                    {
                       id = x.Key,
                       name = firstRecord != null ? firstRecord.name : String.Empty,
                       email = firstRecord != null ? firstRecord.email: String.Empty,
                       roles = String.Join(",",x.Select(z => z.roles),
                       modules = firstRecord != null ? firstRecord.modules : String.Empty
                    };
               });

在这里,我考虑过,对于每个id,您都需要name,email and modules列。 如果不是这种情况,则可以按多个列而不是像new { x.id, x.name, x.email }这样的id进行new { x.id, x.name, x.email }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM