2013-04-26 85 views
2

在我的應用我有一個觀點一個表,我得到基於該模型的項目清單:格式視圖

public class ItemList 
{ 
    public ObjInfo m_Obj { get; set;} 

    public List<ObjData> m_ObjDataList { get; set;} 
} 

當我返回列表時,m_Obj將始終聯繫在一起。 ObjData的列表將在0到4之間變化,但我需要始終顯示4個格式的格式。

因此,這裏是我的觀點是如何構成的:

<table> 
    <tr> 
     <th> 
      Object Name 
     </th> 
     <th> 
      Obj Data 
     </th> 
     <th> 
      Date of Data 
     </th> 
    </tr> 

    @for (int i = 0; i < Model.Count; i++) 
    {  
     <tr> 
      <th rowspan="4"> 
       @Html.ActionLink(Model[i].m_Obj.m_ObjName, "ShowObjData", new { id = Model[i].m_Obj.m_ObjID }) 
      </th> 
      @for (int j = 0; j < Model[i].m_ObjDataList.Count; j++) 
      { 
       <tr> 
        <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].m_DataProvider.m_DataProviderName)</td> 
       </tr> 
       <tr> 
        <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].AnIntValue)</td> 
       </tr> 
       <tr> 
        <td>@Html.DisplayFor(item => item[i].m_ObjDataList[j].m_DateDataSaved)</td> 
       </tr> 
      } 
     </tr> 
    } 
</table> 

所以,基本上,我想產生這樣的效果:

Obj Name Obj Data Date of Data 
Obj 1  Data 1   Date1 
      Data 2   Date2 
      Data 3   Date3 
      Data 4   Date4 
Obj 2  Data 1   Date1 
      Data 2   Date2 
      Data 3   Date3 
      Data 4   Date4 

,但我有一個相當艱難的時間格式化像我喜歡的價值觀,這就是爲什麼我要求幫助。

+1

你應該在結束後''移動內部'for'。通過這種方式,您可以在''之後獲得'',而不是像當前的代碼那樣嵌套。 – 2013-04-26 18:34:07

回答

1

找到我的答案經過多少工作!

我需要格式化我的表是這樣的:

<table class="objItemTable"> 
    <tr> 
     <th> 
      Object Name 
     </th> 
     <th> 
      Provider 
     </th> 
     <th> 
      Obj Data 
     </th> 
     <th> 
      Date of Data 
     </th> 
    </tr> 

    @for (int i = 0; i < Model.Count; i++) 
    { 
     var className = i%2 == 0 ? "even" : "odd"; 

     <tr> 
      <th rowspan="5"> 
       @Html.ActionLink(Model[i].m_Obj.m_ObjName, "ShowObjData", new { id = Model[i].m_Obj.m_ObjId }) 
      </th> 
      @for (int j = 0; j < Model[i].m_ObjDataList.Count; j++) 
      { 
       <tr class="@className"> 
        <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].m_DataProvider.m_DataProviderNa,e)</td> 
        <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].AnIntValue)</td> 
        <td>@Html.DisplayFor(item => item[i].m_ObjDataList[j].m_DateDataSaved)</td> 
       </tr> 
      } 
     </tr> 
    } 
</table> 

... Annnnd現在它顯示就好了。 :)

+0

此外,由於這是解決方案,所以您應該可以接受答案:) – 2013-04-26 18:38:37

+0

當您在''內有''時,這種渲染效果如何? – Floremin 2013-04-26 18:40:25

+0

@Floremin現在,這是一個非常有趣的問題,相信我,它的工作原理,但我怎麼樣,我不知道:| – hsim 2013-04-30 17:16:50