dポイントプレゼントキャンペーン実施中!

VS2005 C#にてASP WEBアプリを開発しております。
GridViewにて1レコードを2行単位で該当件数分表示したい。
その方法をご存知の方、ご教授頂けませんか?

==============================================
ヘッダーヘッダーヘッダーヘッダーヘッダー
==============================================
データ1 データ3 データ5
----------------------------------------------
データ2 データ4 データ6
==============================================

データ1~6までを1単位として
該当件数分出力したい。

A 回答 (4件)

お返事がないようなので、もしかしたら、下記のソース見にくかったでしょうか?


宜しければ下記ご参考下さい。
http://techbank.jp/Community/blogs/mymio/archive …

宜しくお願いします。

参考URL:http://techbank.jp/Community/blogs/mymio/archive …
    • good
    • 0
この回答へのお礼

返事が遅れまして大変、申し訳ありません。
今回の課題は一旦、おいておく形にしていました。

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

お礼日時:2008/07/16 18:39

度々すいません。


いろいろとやってみたところ、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>
<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>
    • good
    • 0

アドバイスしたものの私自身もあれから気になったんで、やってみました。

具体的なソース例が欲しいそうだったので、実装した結果を掲載しておきますね。

<%@ 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-transitio …

<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コントロール使うとできそうです。

(ただし、編集させたり、選択させたりするようなことをお求めであれば、方法はまた考えなければなりませんが・・・)

表示だけならこれでいけますので、ご参考にしてみてください。
    • good
    • 0

DataListコントロールとTableタグの組み合わせを使ってみては如何でしょうか?(やり方は、殆どGridViewと似てますし、縦・横も出力方向が選べますので)



後は試してみないとわからないのですが、GridViewのItemTemplateの中に、DataListコントロールを入れて入れ子にしてしまうとか・・・(すいません、こっちは裏をとってないので、情報的に自信はないです)

参考になれば幸いです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/07/14 07:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!