- PR -

GridView の 内容をGridView 外の ボタンイベントで取得する方法

1
投稿者投稿内容
ニセイタ
常連さん
会議室デビュー日: 2009/02/27
投稿数: 24
投稿日時: 2009-04-02 16:53
ASP.NET + VB.NET + SQLSERVER で開発しております。

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
GridView を配置しているページにおいて、 GridView外 に 配置した ボタンを押下したイベントにおいて、
ソートした後の  GridViewの内容を取得したいのですが、できません。
このソートした情報を元に、印刷画面に送って、印刷画面で、またGridViewを展開しようと考えております。

  GridView内のコントロールでは、RowCommandイベントなどで、イベントを起こして、GridViewの内容を取得する事ができるのですが、ソース例を挙げます。

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'グリッドビューの内容を取得できない
Protected Sub Link_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton.Click

'グリッドビューの内容を取得したい
Session("SelectedGridView") = CType(GridView1.DataSource, '分からないです。 DataSet,DataSourceControlではnothingになりました)
' グリッドビューの中身は取得できない(データソースを取得するべき?)

Response.Redirect("~/Link.aspx")

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'グリッドビューの内容を取得できる
Protected Sub GridView_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
'グリッドビューの内容を取得したい
Session("SelectedGridView") = GridView1
'グリッドビューの内容をまるごと取得できる
Response.Redirect("~/Link.aspx")

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
ここで、GridViewの内容を取得できれば、遷移した画面で、

Link.aspxにて

Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
'前画面で ソートしたグリッドの内容を 取得
GridView1.DataSouce = Session("GridViewDataSouce")
GridView1.DataBind()
'もしくは
GridView1 = Session("SelectedGridView")

End Sub

'を行いたい。
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

何か、取得方法はありますでしょうか。
ご教授いただけますと幸いです。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2009-04-03 00:52
あれ、こちらではClickイベントでも Session("SelectedGridView") = GridView1 で渡せましたよ。
どうやってGridView1にデータソースを渡してますか?
たとえば、If Not IsPostBackはクリックの際には通らないので
この中でEnableViewState="false"のGridViewをDataBindしてたりすると空になるでしょうね。

型がわからなければGridView1.DataSource.GetType() を見てみればいいです。
ニセイタ
常連さん
会議室デビュー日: 2009/02/27
投稿数: 24
投稿日時: 2009-04-03 01:30
べる様
ありがとうございます。
早速、明日試してみます。
GetTypeで調べられる。とのご指導、ありがとうございます。
べる様の環境では、取得できたfactorを参考に、Retryしてみます。

1

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