• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP GridViewで1レコード2行を1かたまりとして表示する。)

ASP GridViewで1レコード2行を1かたまりとして表示する

このQ&Aのポイント
  • ASP GridViewを使用して、1レコードを2行単位で表示する方法について教えてください。
  • VS2005 C#を使用して開発しているASP WEBアプリで、GridViewを使用して1レコードを2行として表示したいです。
  • データ1からデータ6までを1単位として該当件数分表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.4

お返事がないようなので、もしかしたら、下記のソース見にくかったでしょうか? 宜しければ下記ご参考下さい。 http://techbank.jp/Community/blogs/mymio/archive/2008/07/14/1505.aspx 宜しくお願いします。

参考URL:
http://techbank.jp/Community/blogs/mymio/archive/2008/07/14/1505.aspx
r-taka
質問者

お礼

返事が遅れまして大変、申し訳ありません。 今回の課題は一旦、おいておく形にしていました。 参考にさせていただきます。有り難うございました。

その他の回答 (3)

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.3

度々すいません。 いろいろとやってみたところ、GridViewでもご希望の通りのものができそうです。 GridViewなら更新処理や削除処理もできますので、より思いのままになるかと思います。 サンプルコード、一応、掲載しておきますね。 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="True" DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333" GridLines="Horizontal"> <Columns> <asp:TemplateField> <ItemTemplate> <table border="0" cellpadding="0" cellspacing="0" style="background-color:#6666FF;"> <tr> <td style="background-color:#6666FF; width: 20px;" colspan="3"> <asp:Label runat="server" ID="id" Text='<%# Eval("id") %>' /> </td> <td style="background-color:#6666FF; width: 100px;"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:Label runat="server" ID="Label1" Text='<%# Eval("データ1") %>' /></td> </tr> <tr> <td><asp:Label runat="server" ID="Label2" Text='<%# Eval("データ2") %>' /></td> </tr> </table> </td> <td style="background-color:#6666FF; width: 100px;"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:Label runat="server" ID="Label3" Text='<%# Eval("データ3") %>' /></td> </tr> <tr> <td><asp:Label runat="server" ID="Label4" Text='<%# Eval("データ4") %>' /></td> </tr> </table> </td> <td style="background-color:#6666FF; width: 100px;"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:Label runat="server" ID="Label5" Text='<%# Eval("データ5") %>' /></td> </tr> <tr> <td><asp:Label runat="server" ID="Label6" Text='<%# Eval("データ6") %>' /></td> </tr> </table> </td> </tr> </table> </ItemTemplate> <EditItemTemplate> <table> <tr> <td style="background-color:#6666FF; width: 20px;" colspan="3"> <asp:Label runat="server" ID="id" Text='<%# Eval("id") %>' /> </td> <td style="background-color:#6666FF"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:TextBox runat="server" ID="TextBox1" Text='<%# Eval("データ1") %>' /></td> </tr> <tr> <td><asp:TextBox runat="server" ID="TextBox2" Text='<%# Eval("データ2") %>' /></td> </tr> </table> </td> <td style="background-color:#6666FF"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:TextBox runat="server" ID="TextBox3" Text='<%# Eval("データ3") %>' /></td> </tr> <tr> <td><asp:TextBox runat="server" ID="TextBox4" Text='<%# Eval("データ4") %>' /></td> </tr> </table> </td> <td style="background-color:#6666FF"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:TextBox runat="server" ID="TextBox5" Text='<%# Eval("データ5") %>' /></td> </tr> <tr> <td><asp:TextBox runat="server" ID="TextBox6" Text='<%# Eval("データ6") %>' /></td> </tr> </table> </td> </tr> </table> </EditItemTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#EFF3FB" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#2461BF" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> &nbsp;<br /> <br /> <br /> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [id], [データ1], [データ2], [データ3], [データ4], [データ5], [データ6] FROM [Table1]" UpdateCommand="UPDATE Table1 SET データ1 = @データ1, データ2 = @データ2, データ3 = @データ3, データ4 = @データ4, データ5 = @データ5, データ6 = @データ6 WHERE (id = @id)"> <UpdateParameters> <asp:Parameter Name="データ1" Type="String" /> <asp:Parameter Name="データ2" Type="String" /> <asp:Parameter Name="データ3" Type="String" /> <asp:Parameter Name="データ4" Type="String" /> <asp:Parameter Name="データ5" Type="String" /> <asp:Parameter Name="データ6" Type="String" /> <asp:Parameter Name="id" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource>

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.2

アドバイスしたものの私自身もあれから気になったんで、やってみました。具体的なソース例が欲しいそうだったので、実装した結果を掲載しておきますね。 <%@ Page Language="C#" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@ Register Assembly="C1.Web.C1Command.Classic.2" Namespace="C1.Web.C1Command" TagPrefix="c1c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> <HeaderTemplate> <table> <tr> <th>ヘッダ1</th> <th>ヘッダ2</th> <th>ヘッダ3</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td style="background-color:#CCFFCC"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:Label runat="server" ID="Label1" Text='<%# Eval("データ1") %>' /></td> </tr> <tr> <td><asp:Label runat="server" ID="Label2" Text='<%# Eval("データ2") %>' /></td> </tr> </table> </td> <td style="background-color:#CCFFCC"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:Label runat="server" ID="Label3" Text='<%# Eval("データ3") %>' /></td> </tr> <tr> <td><asp:Label runat="server" ID="Label4" Text='<%# Eval("データ4") %>' /></td> </tr> </table> </td> <td style="background-color:#CCFFCC"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><asp:Label runat="server" ID="Label5" Text='<%# Eval("データ5") %>' /></td> </tr> <tr> <td><asp:Label runat="server" ID="Label6" Text='<%# Eval("データ6") %>' /></td> </tr> </table> </td> </tr> </ItemTemplate> <SeparatorTemplate> <tr style="border:1px; border-style:solid;"><td></td></tr> </SeparatorTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [データ1], [データ2], [データ3], [データ4], [データ5], [データ6] FROM [Table1]"> </asp:SqlDataSource> </form> </body> </html> DataListって申し上げましたが、この機能を実現するには、GridViewではなく、Repeaterコントロール使うとできそうです。 (ただし、編集させたり、選択させたりするようなことをお求めであれば、方法はまた考えなければなりませんが・・・) 表示だけならこれでいけますので、ご参考にしてみてください。

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.1

DataListコントロールとTableタグの組み合わせを使ってみては如何でしょうか?(やり方は、殆どGridViewと似てますし、縦・横も出力方向が選べますので) 後は試してみないとわからないのですが、GridViewのItemTemplateの中に、DataListコントロールを入れて入れ子にしてしまうとか・・・(すいません、こっちは裏をとってないので、情報的に自信はないです) 参考になれば幸いです。

r-taka
質問者

お礼

御回答有り難うございます。 参考にさせていただきます。

関連するQ&A