asp.net Gridview,1记录跨度两行

时间:2009-10-28 15:23:31

标签: asp.net gridview

我在创建Gridview时遇到问题,每个记录可以跨越2行 我尝试将templateField headerTemplateitemTemplates用作单独的表格,但我无法正确格式化。

有人知道这个问题更容易解决吗?

2 个答案:

答案 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>