2009-10-28 23 views
6

Gridviewを作成する際に問題が発生しました。レコードは2行にまたがることがあります。
templateFieldheaderTemplateitemTemplatesを別々のテーブルとして使用しようとしましたが、正しくフォーマットすることができません。asp.net Gridview、1レコードが2行にまたがる

誰かがこの問題の簡単な解決法を知っていますか?

答えて

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

で新しく追加されたあなたは、リピータを使用することができ、asp.net 4.0で、あなたは文句を言わないそれがさらに簡単な作り、ListViewコントロールのためのの部分を必要としています。 – DavidGouge

+0

リストビューはうまく機能します。どうもありがとうございました。私に残されている唯一のことは、列の見出しで並べ替えることです。 –

4

GridViewの代わりにRepeaterを使用しましたか? 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> 
関連する問題