Mar*_*ues 2 html-table razor asp.net-mvc-3
如何在Razor视图中使用rowspan合并表格中的单元格?
生成的HTML应该是这样的:
<table>
<tr>
<td rowspan="2">Column 1 row 1</td>
<td>Column 2 row 1</td>
</tr>
<tr>
<td>Column 2 row 2</td>
</tr>
<tr>
<td rowspan="3">Column 1 row 3</td>
<td>Column 2 row 3</td>
</tr>
<tr>
<td>Column 2 row 4</td>
</tr>
<tr>
<td>Column 2 row 5</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
编辑以添加数据源和所需结果:
数据源可能类似于带有类别的产品.例如:
????????????????????????
? Electronics ? Laptop ?
? ? iPod ?
? ? TV ?
????????????????????????
? Groceries ? Coffee ?
? ? Cookies?
????????????????????????
Run Code Online (Sandbox Code Playgroud)
我想到的唯一方法是使用Linq来计算列表中值的次数,但我想知道某人是否有更好的解决方案.谢谢!
尝试这样的事情.
<table>
<tr>
<th>Movie</th>
<th>Person</th>
</tr>
@foreach (var byMovies in elements.GroupBy(x => x.Movie)
.OrderBy(movie => movie.Key.Name))
{
var secondRowOrHigher = false;
@:<tr>
@:<td rowspan="@byMovies.Count()">@byMovies.Key.Name</td>
foreach (var ticket in byMovies.OrderBy(x => x.Person.Name))
{
if (secondRowOrHigher)
{
@:<tr>
}
secondRowOrHigher = true;
<td>@ticket.Person.Name</td>
@:</tr>
}
}
</table>
Run Code Online (Sandbox Code Playgroud)
和课只是为了拍照
public class TicketInfo
{
public Movie Movie { get; set; }
public Person Person { get; set; }
}
public class Person
{
public string Name { get; set; }
}
public class Movie
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4200 次 |
| 最近记录: |