我正在尝试创建一个网格,其中包含x轴上的事件和y轴上的需求,并且填充了解决方案。
Event1 Event2
Req1 Sol1
Req2 Sol2
我的模型包含一个事件列表,其中包含相关的需求,其中包含相关的解决方案。每个事件可以有0个或更多要求,每个要求可以有0个或更多解决方案。
如何在剃刀中准确显示此网格?
这是我的尝试:
<table border="1">
<tr>
<td class="span-6"></td>
@foreach(var events in Model.Events)
{
<td colspan="3">
@events.Name
</td>
requirementsList.AddRange(events.Requirements);
}
</tr>
@foreach(var req in requirementsList)
{
<tr>
<td>
@req.Name
</td>
<!--Insert logic to align solution with Event-->
<td>
@req.Solution
</td>
</tr>
}
</table>
当然,这仅显示第一个事件列中的所有解决方案。
答案 0 :(得分:0)
我在PHP中为我的时间表系统做了类似的事情,我希望每天为每位员工工作数小时(2个日期之间):
| 1 May | 2 May | ... May
Fred | 6 |
George | | 4 |
我使用了3个foreach循环,首先我输出了日期,我去了每个员工,然后在员工循环中,我再次绕过日期。
所以对你来说就是:
<table border="1">
<tr>
<td class="span-6"></td>
@foreach(var events in Model.Events)
{
<td colspan="3">
@events.Name
</td>
requirementsList.AddRange(events.Requirements);
}
</tr>
@foreach(var req in requirementsList)
{
<tr>
<td>
@req.Name
</td>
@foreach(var events in Model.Events)
{
@curRec = events.Requirements
@if (curRec.HasSolution) // If has a solution.
// Very important so solutions can be aligned properly
{ // Output the solution
<td>
@curRec.Solution
</td>
} else { // Output a empty cell
<td></td>
}
}
</tr>
}
</table>