我有一个用转发器构建的HTML表。有时表有5行,有时候有8行。
添加标题行很容易。
<asp:PlaceHolder runat="server" ID="additionalHeaderColumns" />
在后面的代码中,我向内容持有者添加了控件(htmlheadercells):
Dim tableHeaderCell As New TableHeaderCell()
tableHeaderCell.Text = "Test"
additionalHeaderColumns.Controls.Add(tableHeaderCell)
当我尝试在每个行的数据绑定事件中执行相同操作时,我得到一个错误消息,告诉它无法将asp:PlaceHolder放入行中。它需要tablecells。
任何人都有解决方案如何扩展转发器中的列数?
答案 0 :(得分: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>
进一步了解嵌套转发器,这里有很多内容。