- PR -

(WEBアプリ)DataGridの複数選択行の内容を次のページに受渡し

1
投稿者投稿内容
NYA
会議室デビュー日: 2004/05/16
投稿数: 12
投稿日時: 2004-05-20 04:18
VisualStudio .Net2003にて、WEBアプリの開発をしています。
DataGrid上にデータを表示して、複数行選択可能にし(チェックボックス)、
選択した行のデータを次のページに受渡したいのですが、
どのようにすればよいでしょうか。

送り側で、以下のように定義して、Server.Transferで
次のページに移り、データを取得できるかなと
思ったのですが、うまくいかないです。

Public ReadOnly Property MyGrd() As DataGrid
Get
Return MyGrd
End Get
End Property

なにか、よい方法はありますでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-05-20 19:45
『うまくいかない』で、どのようになっています?

 期待値はわかるのですが、実際にどのような結果になったかわからなければ、何が起こっているのかわかりません。

 おそらく、このページを参考にして、とのことと思いますが、そのTransferを、どこに書きました?
NYA
会議室デビュー日: 2004/05/16
投稿数: 12
投稿日時: 2004-05-20 22:22
またまた、説明不足で申し訳ございません。
実際には、チェックボックスの値取得の際にエラーになっていたのですが、
あれから、過去ログを再び検索しまして、似た内容が見つかって解決しました。
投稿の前にももちろん検索をしたのですが、見つけきれず、
申し訳ございませんでした。

参考にしたスレッドは以下です。
「件名:Datagrid内のチェックボックスについて」
2002-07-16 19:46

この内容を参考にして、以下のようにしてみました。

(送信側)
フォーム「SendDataPage」
グリッド「GrdA」
グリッド内のチェックボックス「ChkRow」
---- vb のソース ----
Public ReadOnly Property GetGrdA() As DataGrid
Get
Return GrdA
End Get
End Property

Private Sub BtnDtl_Click( ...
Server.Transfer("ReceiveData.aspx")
End Sub

(受信側)
---- vb のソース ----
Public Fp As SendDataPage

Private Sub Page_Load( ...
If Not IsPostBack Then
Fp = CType(context.Handler, SendDataPage)
Dim Di As DataGridItem
Dim DmyChkBox As CheckBox

For Each Di In Fp.GetGrdA.Items
DmyChkBox = Di.FindControl("ChkRow")
If DmyChkBox.Checked Then

End If
Next
End If
End Sub

これで、無事、選択した列を判定することができました。
この方法がベストかどうかわかりませんが、もし何か危ない点がございましたら
ご指摘頂けますでしょうか。
本当に、いつもありがとうございます!!

[ メッセージ編集済み 編集者: NYA 編集日時 2004-05-20 22:29 ]
1

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