- - PR -
GridViewのレイアウト変更
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-05 11:42
現在GridViewにて以下の記述でテーブルを作成しています。
<asp:GridView ID="grid" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" GridLines="None" PageSize="5" ShowFooter="True" OnRowCreated="grid_RowCreated" > <FooterStyle Font-Bold="True" ForeColor="White" /> <Columns> <asp:TemplateField HeaderText="項目1"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Container.DataItemIndex + 1 %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="項目2" SortExpression="hd"> <ItemTemplate> <asp:HyperLink ID = "HY1" runat="server" NavigateUrl= '<%# "user1-3.aspx?mid=" & DataBinder.Eval(Container, "DataItem.mokuroku_id") %>' Text='<%# Eval("title") %>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="項目3" SortExpression="sb"> <ItemTemplate> <asp:Label ID="Label3" runat="server" Text='<%# Eval("material_no") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 現在の状態は以下の表示になります。 ―――――――――――――――― |ヘッダー |項目1|項目2|項目3| ―――――――――――――――― |1レコード目 |項目1|項目2|項目3| ―――――――――――――――― これを、下記のようにしたいのですが、どのようにすれば良いのでしょうか?? ――――――――――――― |ヘッダー |項目1|項目2| | | | | | | |項目3| ――――――――――――― |1レコード目 |項目1|項目2| | | | | | | |項目3| ――――――――――――― 項目2と3の間には線があってもなくてもかまいません。 現在自分でもいろいろと試したり探したりしていますが、 恐れ入りますがご教授お願い致します。 |
|
投稿日時: 2007-04-05 12:20
テンプレート カラム
SQLはどうなったの? _________________ |
|
投稿日時: 2007-04-05 12:39
Jitta様
その節は御回答ありがとうございました。 現在いくつかの問題(実装できていない箇所)があり、 平行に進めていまして、まず優先順位が高くなってしまったこちらを先に解決しなければならなくなってしまいました。 返答できていなくてすみません。 切羽詰った状況ですので申し訳ないです。 |
|
投稿日時: 2007-04-05 12:48
今現在以下のサイトを参考にしています。
http://forums.microsoft.com/msdn-ja/showpost.aspx?postid=856993&siteid=7&sb=0&d=1&at=7&ft=11&tf=0&pageid=0 下記のRowDataBoundでどうにかなりそうだと思い、ソースを理解しながら進めているところです。 Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Grid.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim table As Table = e.Row.Parent Dim row As GridViewRow = New GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal) Dim cell As TableCell = New TableCell() Dim value As String = e.Row.Cells(5).Text e.Row.Cells.RemoveAt(5) e.Row.Cells(0).RowSpan = 2 e.Row.Cells(1).RowSpan = 2 e.Row.Cells(5).RowSpan = 2 cell.ColumnSpan = 3 cell.Controls.Add(New LiteralControl(value)) row.Cells.Add(cell) table.Rows.Add(row) End If End Sub 中間報告させていただきました。 |
1