- PR -

GridViewテンプレート列でのイベントについて

1
投稿者投稿内容
Tanishi
会議室デビュー日: 2006/03/11
投稿数: 9
投稿日時: 2006-08-19 12:09
お世話になります。
VS2005、ASP2.0にて開発を行っております。
現在、GridViewにテンプレート列を加え、そこにButtonコントロールを配置し、クリックイベントをRowCommandイベントで補足しております。
そこで質問なのですが、クリックされたButtonコントロールがあるGridView内の位置を知るためには、どうしたら良いのでしょうか。

2日ほど調査してもわからず、現在、RowCommandイベントハンドラ内で、

Button clickedBtn = e.CommandSource as Button;

としてから、

clickedBtn.UniqueID

で見分けるという愚かなことをやっています。

参考になるUrlなどでもよろしいので、是非どなたかご教授ください。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-08-19 13:45
んー、CommandNameをSelectにしちゃえば(それかCommandFieldで選択だけ可能にする)
SelectedIndexChangedでGridView.SelectedIndexが拾えますけどね。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-08-19 16:15
Selectを使うのが楽そうですけどね。
Selectは別にあって、それとは別に使いたいというような場合は自分だったら
CommandArgumentにキー項目の値でもバインドするようにするかな。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-08-20 05:54
引用:

Tanishiさんの書き込み (2006-08-19 12:09) より:
お世話になります。
VS2005、ASP2.0にて開発を行っております。
現在、GridViewにテンプレート列を加え、そこにButtonコントロールを配置し、クリックイベントをRowCommandイベントで補足しております。
そこで質問なのですが、クリックされたButtonコントロールがあるGridView内の位置を知るためには、どうしたら良いのでしょうか。



Buttonのイベントを利用したらどうでしょうか。

GridViewRowを取得するには、
ButtonのNamingContainerを利用する方法とParent.Parentを利用する
方法があります。

GridViewにButtonを配置して行の値を取得するサンプル
http://akiokasai.qsh.eu/Goto.aspx?id=060222-1

_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
Tanishi
会議室デビュー日: 2006/03/11
投稿数: 9
投稿日時: 2006-08-20 14:05
VS2003とだいぶ違うので困惑するところが多々ありますが、おかげさまでGridViewの使い方がだんだんわかってきました。
とくにAccessさんのソースコードはありがたさのあまり涙ものでした。
みなさま大変ありがとうございました!

1

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