none
GridView内のデータの取得 RRS feed

  • 質問

  • VS2005にて、SqlDataSourceを設定してGridViewにデータソースとして、指定しています。

    このGridViewに、タスクから削除を有効にするを選択して、データ削除をできるように

    しました。そこで、削除前にその行の2カラム目のデータを取得しようとしているのですが、

    イベントにRowDeletingを利用するまでは、調べれたのですが指定列の値を取得する

    方法がどうしてもわかりません。どうかご教授お願いします。

    2007年7月4日 8:25

回答

すべての返信

  • こんな感じで取得できませんか?

     

    (GridView1.Rows[e.RowIndex].FindControl("hoge") as Label).Text;

    2007年7月4日 10:01
    モデレータ
  • 説明不足で申し訳ございません。

    私は、c#を利用しています。

    trapemiyaさんのヒントを元に次のようにしてみました。

                Label lblpic = (Label)GridView1.Rows[e.RowIndex].FindControl("picname");
                string s = lblpic.Text.ToString();

    これで実行すると、次のエラーが発生します。

     

    オブジェクト参照がオブジェクト インスタンスに設定されていません。

     

    このような場合はどうすればよろしいのでしょうか。

    もしかして、RowDeletingイベントを利用しているのが、だめなのでしょうか。

    2007年7月4日 23:51
  • ItemTemplateを使用されていないからかもしれません。e.Values["hoge"]のようにしたら取れました。

     

    #私が上で載せたコードもC#です。kyuloveさんの過去の投稿から判断してC#のコードを載せました。

    2007年7月5日 2:05
    モデレータ
  • お手数をおかけいたしまして申し訳ございません。

    取得データのカラムをTemplateに変換いたしましたら、

    最初にアドバイス頂いた方法でできました。

    ありがとうございました。

    2007年7月5日 3:55