2012-11-15 163 views
1

Repeater控件我要顯示的格式我的數據如下圖所示:與嵌套元素TR TD

<table> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    ... 
    </tr> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    ... 
    </tr> 
    . 
    . 
    . 
</table> 

我對於如何表示的數據有點困惑。 我在想這個結構使用中繼器控制。但是它需要一個嵌套的中繼器控制還是可以使用單箇中繼器控制來完成? 任何人都可以請建議我正確的方式?

在此先感謝。

更新::在我的情況,並不能在靜態爲了他們完全dynamic.In某些情況下,可能有一個,但在某些情況下,他們是我在10-20 count.I需要,以示對測試得分那些structure.for例如:

<table> 
    <tr> 
    <td>10</td> 
    <td>5</td> 
    <td>30</td> 
    </tr> 
    <tr> 
    <td>40</td> 
    <td>34</td> 
    </tr> 
    . 
    . 
    . 
<table> 

像wise.In簡單的一句話,當針對一個用戶的得分記錄完成後,我需要在新的新鮮添加新的記錄。

+0

需要更多信息。您的數據在您的程序中是如何檢索/呈現的? –

+0

我終於使用動態表在運行時綁定數據。 –

回答

0

我終於做到了這一點與在asp.net.Like RDSAGAR動態表做了,但代碼behind.Thanks一直以來的支持。

4

你爲什麼使用中繼器?這是相當陳舊的組件。改用ListView。它在配置和操作上更加靈活。

請使用解決方案通過Merrimack建議here從昔日的經典方式

<asp:ListView ID="myListView" runat="server" 
    DataSourceID="YOURDATASOURCE" GroupItemCount="3"> 

    <LayoutTemplate> 
     <table> 
     <tr> 
      <td> 
       <table border="0" cellpadding="5"> 
        <asp:PlaceHolder runat="server" ID="groupPlaceHolder"></asp:PlaceHolder> 
       </table> 
      </td> 
     </tr> 
     </table> 
    </LayoutTemplate> 

    <GroupTemplate> 
     <tr> 
     <asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder> 
     </tr> 
    </GroupTemplate> 

    <ItemTemplate> 
     <td> 
     <%# Eval("FullName") %> 
     </td> 
    </ItemTemplate> 
</asp:ListView> 
1

一種解決方案是嵌套循環

<table> 
<% for(int loop1 = 0; loop1 <= condition1 ; loop1++){ 
     System.Console.WriteLine("<tr>"); 
     for(int loop2 = 0; loop2 <= condition2 ; loop2++){ 
      System.Console.WriteLine("<td>"); 
      System.Console.WriteLine("Your Data"); 
      System.Console.WriteLine("</td>"); 
     } 
     System.Console.WriteLine("</tr>"); 
    } %> 
</table> 
0

你可以做一箇中繼這樣

<asp:Repeater ID="rptMyRepeater" runat="server" > 
    <HeaderTemplate> 
      <table> 
      <th> 
       <td> 
        Header 1 
       </td> 
       <td> 
        Header 2 
       </td> 
      </th> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr> 
      <td> 
       <asp:HiddenField runat="server" ID="hfHolderId" Value='<%# DataBinder.Eval(Container.DataItem, "HolderId") %>' /> 
       <asp:TextBox runat="server" ID="tbText1" Text='<%# DataBinder.Eval(Container.DataItem, "Text1") %>' /> 
      </td> 
      <td> 
       <asp:TextBox runat="server" ID="tbText2" Text='<%# DataBinder.Eval(Container.DataItem, "Text2") %>' /> 
      </td> 
      </tr> 
     </ItemTemplate> 
     <FooterTemplate> 
      </table> 
     </FooterTemplate> 
</asp:Repeater> 

然後有一個類來保存你的數據

public class MyHolder() 
    { 
     public string HolderId {get;set;} 
     public string Text1 {get;set;} 
     public string Text2 {get;set;} 
    } 

然後,讓這些列表並將其綁定到直放站

List<MyHolder> myHolderList = new List<MyHolder>(); 
    myHolderList.Add(new MyHolder {1, "hi", "hello"}); 
    //Add a few of these 

    rptrptMyRepeater.DataSource = myHolderList; 
    rptMyRepeater.DataBind(); 

所有這一切都只是離開我的頭,有我在裏面的語法錯誤

+0

哦,作爲Johhny d說,這是更優雅用一個ListView與用戶控件列表或類似的東西 –