1

我正在尝试创建一个网格,其中包含 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>

当然,这只是在第一个事件列中显示所有解决方案。

4

1 回答 1

0

我在 PHP 中为我的时间表系统做了类似的事情,我希望每个员工每天的工作时间(两个日期之间):

       | 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>
于 2013-07-29T15:46:53.240 回答