-PR-
  • すぐに回答を!
  • 質問No.7289904
締切り
済み

GridViewのコントロールを変更したい

  • 閲覧数994
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (7/7)

お知恵を貸してください。

データが1件もなくても、見出しを見せるために
データ行の1行目をヘッダーとして扱っています。
また、表示したい列が可変長のため、
デザイン側では、TemplateField等を指定せずに、
RowDataBoundイベントにて、一部の項目を
テキスト、ボタン、リンクに変更しました。

この状態でボタンを押したら、
変更したテキスト、ボタン、リンクが消えてしまったので、
RowCreatedイベントでコントロールを作る処理をいれたのですが、
直接バインドするデータがなかった最後の列については、
e.Row.Cells.Addで実現できたのですが、
バインドしている項目については、
e.Row.Cells[0].Controls.Add(テキスト)としてみたのですが、
RowDataBoundイベントで、RowCreatedで作ったはずのIDが
FindControlで取得できません。

実行時にバインドされるコントロールを変えることはできないのでしょうか?
  • 回答数1
  • 気になる数0

回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 81% (127/155)

RowDataBoundイベントとRowCreatedイベントってどっち先に発生するんでしたっけ? Dataをバインドしようとして行が作成されるような気もするんですが。。。 あと、処理のタイミングとしてGridViewのPreRenderを検討してみてはどうでしょう。 このタイミングだとデータのバインド等が終了し、HTMLを生成(レンダリング)する直前なので見え方等を変えるには一番よいのではないかと思い ...続きを読む
RowDataBoundイベントとRowCreatedイベントってどっち先に発生するんでしたっけ?
Dataをバインドしようとして行が作成されるような気もするんですが。。。

あと、処理のタイミングとしてGridViewのPreRenderを検討してみてはどうでしょう。
このタイミングだとデータのバインド等が終了し、HTMLを生成(レンダリング)する直前なので見え方等を変えるには一番よいのではないかと思います。
補足コメント
kurocky

お礼率 100% (7/7)

PreRenderで試してみました。
ボタンを押す前に入力した値が、押した後には消えてしまいました。
可変の列ですが、上限があるようなので、
デザインで作成しておき、地道に隠すしかないのでしょうか。
投稿日時 - 2012-02-08 16:34:07
お礼コメント
kurocky

お礼率 100% (7/7)

回答ありがとうございます。

RowDataBoundの前にRowCreatedが走っています。
急遽別作業が発生してしまい、まだPreRenderを試していませんが、
やってみます。
投稿日時 - 2012-02-07 15:35:36
  • ありがとう数0
  • 回答数1
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ