2010-10-20 61 views
2

我有一个使用中继器构建的HTML表格。有时表格有5行,有时有8行。如何在中继器内使用asp:placeholder

很容易添加标题行。

<asp:PlaceHolder runat="server" ID="additionalHeaderColumns" />

在后面的代码我添加的控件(htmlheadercells)到contentholder:

Dim tableHeaderCell As New TableHeaderCell() 
tableHeaderCell.Text = "Test" 
additionalHeaderColumns.Controls.Add(tableHeaderCell) 

当我尝试做相同的每一行,我得到的是告诉一个errormessage的数据绑定事件它不可能把asp:PlaceHolder放在行内。它期望表格。

有人有解决方案如何扩展中继器的列数?

回答

0

如果我理解你的问题,因为“添加列根据一些数据表”:

<asp:Repeater ID="outerRepeater" runat="server"> 
    <HeaderTemplate> 
     <table> 
      <tr> 
       <td>fixedHeaderCell</td> 
       <td>fixedHeaderCell2</td> 
       <asp:Repeater ID="innerColumnRepeater" runat="server" DataSource='<%# someFreakySourceFromYourPageOrOuterRepeater %>'> 
        <ItemTemplate> 
         <td>dynHeaderCell</td> 
        </ItemTemplate> 
       </asp:Repeater> 
      </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td>fixedContentCell</td> 
      <td>fixedContentCell2</td> 
      <asp:Repeater ID="innerColumnRepeater" runat="server" DataSource='<%# someFreakySourceFromYourPageOrOuterRepeater %>'> 
       <ItemTemplate> 
        <td>dynContentCell</td> 
       </ItemTemplate> 
      </asp:Repeater> 
     </tr> 
    </ItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

进一步寻找嵌套的中继器,有很多的内容在这里。