- PR -

Gridviewでヘッダを2行作成

1
投稿者投稿内容
たけし
会議室デビュー日: 2007/03/26
投稿数: 1
投稿日時: 2007-03-26 16:50
お世話になります。
VS2005でASP.netの開発です。
言語はVBになります。

GridViewのヘッダが2行+セルの結合が必要なため以下の方法でPage_Load時に生成しています。

****************************************************************
Dim cell11 As New TableCell
Dim cell12 As New TableCell
Dim row1 As New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
cell11.RowSpan = 2
cell11.Text = "セル1"
cell12.ColumnSpan = 2
cell12.Text = "セル2"
row1.Cells.Add(cell11)
row1.Cells.Add(cell12)
gv.Controls(0).Controls.AddAt(0, row1) ※gvはGridView

Dim cell21 As New TableCell
Dim cell22 As New TableCell
Dim row2 As New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
cell21.Text = "セル3"
cell22.Text = "セル4"
row2.Cells.Add(cell21)
row2.Cells.Add(cell22)
gv.Controls(0).Controls.AddAt(1, row2) ※gvはGridView

※gvのheaderVeiwプロパティはfalseにしています。
****************************************************************
GridViewイメージ
|  セル1  |      セル2       |←ヘッダ行
|       |  セル3  |  セル4   |←ヘッダ行
|データバインド|データバインド|テキストボックス|←データ行


あるASPコントロールボタンを押して、ASP側でテキストボックスの入力チェックを行っています。
入力エラーがあり、自画面に戻った場合、以下の様に表がずれてしまいます。

GridViewイメージ
|  セル1  |      セル2       |←ヘッダ行
|       |  セル3  |  セル4   |←ヘッダ行
|空白     |空白     |テキストボックス|←データ行
|空白     |空白     |テキストボックス|←データ行
|データバインド|データバインド|テキストボックス|←データ行

なぜ空白行が???

ヘッダの生成方法が誤っているのでしょうか?
良い方法をご教授ください。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-03-26 20:20
PostBack時にもそのコードを通ってるからじゃないですか?

あと「headerVeiwプロパティ」って何でしょう??
1

スキルアップ/キャリアアップ(JOB@IT)