- PR -

GridViewに選択ボタンを2つ付けたいのですがASP.NET(VB)

1
投稿者投稿内容
miho
常連さん
会議室デビュー日: 2007/03/10
投稿数: 24
投稿日時: 2007-03-13 21:19
立て続けの質問ですみません。
GridViewにボタン列を2つ付けたいと思っています。
ボタンを押した時に、どちらのボタンを押したかを判定し、それに応じた処理をさせたいのですが、どのイベントを使えばよいのかわかりません。
ButtonFieldを使えばコマンド名はわかるのですが、どの行が選択されたのかを判定する方法がわからず、CommandFieldを使った場合は、どの行が選択されたかはわかるのですが、どちらのボタンが押されたかを判定する方法がわかりません。
DataGridの時はItemCommandイベントでコマンド名の判定も、行の取得もできたのですが・・・。
すみません。
よろしくお願いいたします。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-03-14 06:24
GridViewのTemplateFieldにButtonを2個配置したらどうでしょうか。

GridViewに選択ボタンを2個表示する(その1)
http://www.gxbrbwda.sv02.fsdotnet.net/Goto.aspx?id=070314VB-1

GridViewに選択ボタンを2個表示する(その2)
http://www.gxbrbwda.sv02.fsdotnet.net/Goto.aspx?id=070314VB-2
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
miho
常連さん
会議室デビュー日: 2007/03/10
投稿数: 24
投稿日時: 2007-03-14 10:18
ありがとうございます。
TemplateFieldにボタンを2個配置する方法もあるんですね。
昨日、夜中に調べていたら、
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=976752&SiteID=7
のようなページを見つけました。
RowCommandでInteger.Parse(e.CommandArgument)をすると、選択された行が取れるようで、それを使えば、DataGridの時と同じようにできました。
以下、こんな感じのコードになりました。

If e.CommandName = "Print" Then
 Dim intRow As Integer = Integer.Parse(e.CommandArgument)
Dim objRow As GridViewRow = objView.Rows(intRow)
Set_Print(CInt(CType(objRow.FindControl("lblID"), Label).Text))
End If

1

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