分類:[ASP.NET (VB)]
2009/09/16(Wed) 06:56:12 編集(投稿者)
開発環境:VisualStudio2008
使用言語:asp.net/vb.net
でwebシステムを構築中です。
1明細が複数行でヘッダーを押下時、ソート処理を行うgridviewを作成中です。
ソート処理はgridview_RowCommandで行っています。
現在、GridViewで複数ヘッダー表示した際の2列目の2行目から4列目のヘッダー6からヘッダー8のヘッダーLinkを押下時にgridview_RowCommandを通りません。
ヘッダー1からヘッダー4まではaspのsortexpressionで表示しているためLinkを押下すると問題なくgridview_RowCommandを通ります。
ヘッダー5もLinkを押下すると問題なくgridview_RowCommandを通ります。
作成している画面は下記のような画面です。
--------------------------------------------
|ヘッダー1|ヘッダー2|ヘッダー3|ヘッダー4|
--------------------------------------------
|ヘッダー5|ヘッダー6|ヘッダー7|ヘッダー8|
--------------------------------------------
|明細1 |明細2 |明細3 |明細4 |
--------------------------------------------
|明細5 |明細6 |明細7 |明細8 |
--------------------------------------------
ヘッダー5からヘッダー8を1行目から削除し、2行目にaddしています。
ソースを下記に記述いたします。下記はgridview_RowDataBoundに記述しています。
'-------------------------------------------------------------------------------
' ヘッダー2段目
'-------------------------------------------------------------------------------
' ヘッダー5
Dim tblHeader5 As TableCell = New TableCell()
Dim lnkHeader5 As LinkButton = New LinkButton
' リンク表示
lnkHeader5.Text = gridView.Columns(4).HeaderText()
tblHeader5.Controls.Add(lnkHeader5)
' ヘッダー6
Dim tblHeader6 As TableCell = New TableCell()
Dim lnkHeader6 As LinkButton = New LinkButton
' リンク表示
lnkHeader6.Text = gridView.Columns(5).HeaderText()
tblHeader6.Controls.Add(lnkHeader6)
' ヘッダー7
Dim tblHeader7 As TableCell = New TableCell()
Dim lnkHeader7 As LinkButton = New LinkButton
' リンク表示
lnkHeader7.Text = gridView.Columns(6).HeaderText()
tblHeader7.Controls.Add(lnkHeader7)
' ヘッダー8
Dim tblHeader8 As TableCell = New TableCell()
Dim lnkHeader8 As LinkButton = New LinkButton
' リンク表示
lnkHeader8.Text = gridView.Columns(6).HeaderText()
tblHeader8.Controls.Add(lnkHeader8)
Dim rowfst As GridViewRow = New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
' 各セルを行に追加
rowfst.Cells.Add(tblHeader5)
rowfst.Cells.Add(tblHeader6)
rowfst.Cells.Add(tblHeader7)
rowfst.Cells.Add(tblHeader8)
' 行追加
tbl.Rows.Add(rowfst)
' Command イベントに渡さるコマンド名の設定
lnkHeader5.CommandName = "sort"
lnkHeader6.CommandName = "sort"
lnkHeader7.CommandName = "sort"
lnkHeader8.CommandName = "sort"
' Command イベントに渡さるパラメータの設定
lnkHeader5.CommandArgument = "5"
lnkHeader6.CommandArgument = "6"
lnkHeader7.CommandArgument = "7"
lnkHeader8.CommandArgument = "8"
ご指導お願いいたします。