我在创建Gridview
时遇到问题,每个记录可以跨越2行
我尝试将templateField
headerTemplate
和itemTemplates
用作单独的表格,但我无法正确格式化。
有人知道这个问题更容易解决吗?
答案 0 :(得分:6)
是的,不要使用GridView。 GridView用于显示表格数据。你想要什么不符合这个标准。您可以使用转发器,但我的偏好是3.5 ListView
中的新功能 <asp:ListView ID="ListView1" runat="server" >
<ItemTemplate>
<tr>
<td>
<%# Eval("Something") %>
</td>
</tr>
<tr>
<td>
<%# Eval("SomethingElse") %>
</td>
</tr>
</ItemTemplate>
<EmptyDataTemplate>
<div>
No data was returned.</td>
</div>
</EmptyDataTemplate>
<LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceholder" runat="server">
</LayoutTemplate>
</asp:ListView>
答案 1 :(得分:4)
您是否考虑使用Repeater而不是GridView? Repeater可能是每条记录有2行的最简单方法,您可以更好地控制生成的表格标记,例如。
<asp:Repeater runat="server" ID="Repeater1" >
<HeaderTemplate>
<table>
<tr>
<th>Field 1</th>
</tr>
<tr>
<th>Field 2</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "field1") %></td>
</tr>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "field2") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>