Html 使用中继器的水平工作台
我想用中继器得到下表Html 使用中继器的水平工作台,html,asp.net,.net,html-table,repeater,Html,Asp.net,.net,Html Table,Repeater,我想用中继器得到下表 <table> <tr> <td>Description:</td> <td>Start time:</td> <td>End time:</td> <td>Game type:</td> <td>Description:</td>
<table>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
</tr>
</table>
说明:
开始时间:
结束时间:
游戏类型:
说明:
开始时间:
结束时间:
游戏类型:
数据1
数据2
数据3
数据4
数据1
数据2
数据3
数据4
但我不知道怎么做。我尝试了以下方法:
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
<tr>
</HeaderTemplate>
<ItemTemplate>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</ItemTemplate>
<SeparatorTemplate>
</tr><tr>
</SeparatorTemplate>
<AlternatingItemTemplate>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</AlternatingItemTemplate>
<FooterTemplate>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
说明:
开始时间:
结束时间:
游戏类型:
如果在最后应用分隔符模板,效果会很好。
因此,对于每个数据项,使用单独的表是使该模式工作的唯一方法吗?或者有没有一种方法可以用一张表来实现我的目标?您需要将
放在您的项目模板(以及交替项目模板)(而不是标题)中
说明:
开始时间:
结束时间:
游戏类型:
然后调整分离器模板:
<SeparatorTemplate>
<tr></tr>
</SeparatorTemplate>
像这样尝试:
更新:要重复标题(根据OP的评论),请按如下方式修改(如果需要更多列,请在每个tr
中添加更多s):
注意:假设OP希望以不同的方式设置标题样式,则添加了背景色(只是为了给出一个想法)
说明:
开始时间:
结束时间:
游戏类型:
您可以尝试在HeaderTemplate中写入表头,在ItemTemplate中写入行;-)
编辑:首先,我认为您希望标题仅在标题中,每行代表数据项。因此,我建议使用以下代码:
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
在代码隐藏(在rptGames\u itemscreated
)中,您可以根据数据项的计数将页脚模板设置为
或
注意:我还没有测试这个将表格标题行移动到标题,并将每个项目封装在tr中
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
说明:
开始时间:
结束时间:
游戏类型:
试试这个:
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<th>Description:</th>
<th>Start time:</th>
<th>End time:</th>
<th>Game type:</th>
<th>Description:</th>
<th>Start time:</th>
<th>End time:</th>
<th>Game type:</th>
</tr>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</ItemTemplate>
<AlternatingItemTemplate>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
.谢谢你的回答,但是他们没有创建我想要的表格。我需要重复标题2一遍又一遍(连同数据项),如示例所示。(记住页眉模板只打印一次)哦,我搞错了。我更新了我的答案,并考虑了您的意见。表格标题将每隔一次迭代重复一次。@brenjt-这是根据设计而定的。我阅读了项目要求;)“我需要标题2被重复了一遍又一遍(连同数据项)“你得到了几乎与Stephan Bauer相同的最终结果,除了你记得页脚模板。那么投票权是你的了。为什么还要包括AlternatingItemTemplate呢?它与ItemTemplate相同。@zeroef——如果他在输入交替项模板,那么他必须在那里输入。这就是为什么。@Kuru-什么?如果我错了,请纠正我的错误,但交替模板应该与ItemTemplate(例如:交替行颜色)的交替项模板完全匹配ItemTemplate不同。@zeroef--yes&no。。。你是对的,他不需要一个交替的项目模板,如果它的格式和项目模板完全一样的话——但是你可以看到他在原始问题中使用了一个模板(这没有什么问题——只是没有必要)。也许他以后会开始格式化颜色等。我的意思是,如果他要有一个交替行模板(其中有标记),那么它需要在其中包含字符。@zeroef:这个想法是给他一些他可以复制/粘贴的东西。他可以稍后将样式等添加到AlternatingItemTemplate
。我把它留在那里,就像在OP的帖子里一样。我仍在等待它被否决的原因。即使你每次都重复标题,但它并不像最初的示例所示的那样有8列宽。
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Repeater ID="rptGames" runat="server" OnItemCreated="rptGames_ItemCreated">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</ItemTemplate>
<AlernatingItemTemplate>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</AlernatingItemTemplate>
</asp:Repeater>
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Repeater ID="rptGames" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<th>Description:</th>
<th>Start time:</th>
<th>End time:</th>
<th>Game type:</th>
<th>Description:</th>
<th>Start time:</th>
<th>End time:</th>
<th>Game type:</th>
</tr>
<tr>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</ItemTemplate>
<AlternatingItemTemplate>
<td><%# Eval("Description") %></td>
<td><%# Eval("StartTime") %></td>
<td><%# Eval("EndTime") %></td>
<td><%# Eval("GameType") %></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<table>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
</tr>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
</tr>
<tr>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
<td>Description:</td>
<td>Start time:</td>
<td>End time:</td>
<td>Game type:</td>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td>Data4</td>
</tr>
</table>