none
GridViewのDataSourceの取得の仕方を教えてください RRS feed

  • 質問

  • FormにGridViewを貼り付けて、そこにObjectDataSourceを紐付けています。

    この状態で、GridViewのDataSourceを取得したいと思い

    DataTable dt = (DataTable)GridView1.DataSource;

    とやってみましたが常にnullが帰ってきます。

    どうやったらDataSourceを取得できるのでしょうか?

    2007年1月1日 8:11

すべての返信

  • GridViewとObjectDataSourceの関連づけは、GridViewのDataSourceIDにObjectDataSourceの名前が設定されることで行われています。
    このためDataSourceを取得することはできないと思います。

    DataSourceを取得して何をしたいのかが具体的にわかると、そのために使える方法のヒントがもらえるかもしれません。

    2007年1月1日 8:57
  •  どっとねっとふぁん さんからの引用

    GridViewとObjectDataSourceの関連づけは、GridViewのDataSourceIDにObjectDataSourceの名前が設定されることで行われています。
    このためDataSourceを取得することはできないと思います。

    DataSourceを取得して何をしたいのかが具体的にわかると、そのために使える方法のヒントがもらえるかもしれません。

    なるほど。

    ただ単にバインドされてるデータにアクセスしたいのです。

    AutoGenerateColumns = "False"に設定して、BoundFieldで見せたいデータを表示させています。

    このときの選択された行の表示されていない列の値をとりたいです。

    なにか方法はあるでしょうか?

    2007年1月1日 13:46
  • > このときの選択された行の表示されていない列の値をとりたいです。

    非表示の列の値を取り出すのにはひと工夫必要みたいです。

    http://gridviewguy.com/ArticleDetails.aspx?articleID=178

    ここでDataKeysを使う方法と、テンプレート化して非表示しておく方法が紹介されてます。
    こういった形でどこかにデータを取り出しておく必要があるようです。

    2007年1月3日 15:20
  •  どっとねっとふぁん さんからの引用

    > このときの選択された行の表示されていない列の値をとりたいです。

    非表示の列の値を取り出すのにはひと工夫必要みたいです。

    http://gridviewguy.com/ArticleDetails.aspx?articleID=178

    ここでDataKeysを使う方法と、テンプレート化して非表示しておく方法が紹介されてます。
    こういった形でどこかにデータを取り出しておく必要があるようです。

    なるほど、テンプレート化して非表示にする方法を取ろうと思います。

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

    2007年1月4日 23:35