- PR -

GridViewの行数の取得

1
投稿者投稿内容
初心者
常連さん
会議室デビュー日: 2006/11/24
投稿数: 29
投稿日時: 2006-11-30 15:39
いつも参考にさせていただいております。
初心者なので、簡単なことだと思いますがよろしくお願いします。

開発環境
ASP.NET 2.0
VisualStudio2005(VB)
Oracle.DataAccess

GridViewにデータを表示させ、データを削除するのに、
CommandField列を使用して削除するのではなく、TemplateField列を使用して
そこにTextBoxを貼り付け、削除ボタンを作成したのですが、
削除ボタンを押下したときの、行数の取得方法が分からず困っております。

以下のようにすると、gridView1の1行目のlblTestCdの値を取得できるのですが
Rows(0)ではなく、クリックした行 とするにはどうすればよいのでしょうか。

Dim lblTest As Label = CType(gridView1.Rows(0).FindControl("lblTestCd"), Label)

ご教授お願いいたします。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-12-01 05:45
引用:

以下のようにすると、gridView1の1行目のlblTestCdの値を取得できるのですが
Rows(0)ではなく、クリックした行 とするにはどうすればよいのでしょうか。

Dim lblTest As Label = CType(gridView1.Rows(0).FindControl("lblTestCd"), Label)


e.RowIndexに格納されています。

コード:
  Protected Sub GridView1_RowDeleting(ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs)
    Dim lbl As Label = CType(GridView1.Rows(e.RowIndex).FindControl("lblMessage"), Label)

  End Sub



_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
初心者
常連さん
会議室デビュー日: 2006/11/24
投稿数: 29
投稿日時: 2006-12-01 10:53
Accessさんありがとうございます。

今回sqldatasourceのDeleteコマンドを使用せずに
削除のSqlを書いて実行したいのですが。。。

Deleteコマンドを指定していないため、Accessさんに教えていただいた
GridView1_RowDeletingを使用すると、ハンドルされていないという
エラーになってしまいました・・・。
けい
会議室デビュー日: 2006/08/09
投稿数: 5
投稿日時: 2006-12-01 11:54
コード:
  Protected Sub GridView1_RowDeleting(ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting


今手元に環境が無く試せませんが、これで行けるかと思われます。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-12-01 11:57
引用:
今回sqldatasourceのDeleteコマンドを使用せずに
削除のSqlを書いて実行したいのですが。。。

なぜです?ボタンにCommandNameを設定すればいいのですがそれではだめですか?

だめだとすると、CommandArgumentかなんかに列を特定できる情報を埋め込んどくとかですかね。
初心者
常連さん
会議室デビュー日: 2006/11/24
投稿数: 29
投稿日時: 2006-12-01 13:21
べるさんけいさんお返事ありがとうございます。

けいさんに教えていただいたとおりするとできました!!
Handles に書かないといけなかったのですね。
ほんとうにありがとうございました!
1

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