2013-06-03 85 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>