2013-06-03 57 views
1

我正在尝试创建一个网格,该网格包含x轴上的事件和y轴上的需求并充满了解决方案。使用2轴创建网格

 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

我已经做了类似的事情在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>