05

GridViewに てこずる の巻

12月
No Comments |  Posted by |  Category:開発

今回、初めてASP.NETを使って開発しとります。
VB.NETもろくに使ったことないのに・・・。

検索条件を入力
⇒「検索」ボタンクリックで検索処理実行
⇒取得したデータをGridViewに表示
ってしたい
で、手こずっていることをあげてみる。

・GridViewでヘッダを2行で表示する
・GridViewで1レコードのデータを2行で表示する(2行で1セットね)

こんな感じにしたいのです↓

ヘッダ1|ヘッダ2|ヘッダ3|
   ヘッダ4   |     |
——————————-
項目1 |項目2 |項目3 |
   項目4    |     |
GridViewのPreRenderイベントでヘッダを追加したり、
列を非表示にしたり、colspan設定したりして
なんとか検索処理直後の見た目はOK!

が、実は項目3はボタンでして、これをクリックすると再度PreRenderが発生してしまうです。
2回目以降にヘッダを追加すると、なぜかデータの先頭行が消える・・・。
どうやら追加したヘッダの2行目がデータの1行目にかぶさってしまってる?みたい??
そんなわけでデータ行1行目が消えてしまいます。
項目3のボタンをクリックするたびに、データが減っていくという・・。

現象を回避できないかやってみたよ。

2回目以降のPreRenderではヘッダ追加処理を通さない
⇒ヘッダが2行にならないのでアウト。

RowDataBoundで空データ行を先頭に追加
⇒やっぱりデータ行1行目が消えちゃっててアウト。
(空データ行はちゃんと追加されてる)

こまった・・・・
ネットで検索したところ、やっぱりヘッダを2行にすると行のインデックスが
おかしくなるみたいなことが書いてあって、で、その対策は?というとウヤムヤだったりして。

よい方法をご存知でしたら教えてくださーーーーいぃ。

 

■ 2010/12/13

解決編を書きました→ こちら

 | Tags: , ,

Leave a Reply