- PR -

DataGridに付けたCheckBoxでチェックした行だけ、別のページに画面遷移して、DataGridで表示したい。

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/10/10
投稿数: 3
投稿日時: 2004-10-10 20:12
こんにちは。
asp.net(c#)を始めたばかりです。
過去ログを見てDataGridにCheckBoxを付ける事はできましたが、CheckBoxにチェックをしてボタンクリック後、別のページに画面遷移させて、checkした行のみをDataGridに表示をさせたいと思っています。
どのように実現すればよいか、アドバイスをお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-11 12:09
 チェックがついた行を、セッションに入れたり、トランスファーすると移動元のページオブジェクトは残っていますから、アクセスすることができます。チェックがついた行だけで新しいデータセットをつくります。

…で、わかります?

訂正:セッションに入れたり → セッションに入れるか

セッション変数は、セッションを通じてサーバで保持されるので、設定以降のクライアントからのリクエストで、いつでも参照できます。
リダイレクトすると、いったんクライアントに制御が移りますが、トランスファーだとサーバ内で処理されるため、ページオブジェクトが残っています。そのため、移動先のページから、パブリックメンバにアクセスすることができます。
_________________
Microsoft MVP for Visual Developer - ASP/ASP.NET on 2004

[ メッセージ編集済み 編集者: Jitta 編集日時 2004-10-11 17:09 ]
未記入
会議室デビュー日: 2004/10/10
投稿数: 3
投稿日時: 2004-10-11 20:56
Jitta様、ご返信ありがとうございます。

>チェックがついた行だけで新しいデータセットをつくります。
この部分をもう少し詳しく教えて頂けないでしょうか?
チェックした行を取得する方法もご教授をお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-11 21:49
http://www.atmarkit.co.jp/fdotnet/index/bbs/dir110.html
こういうディレクトリがあるのはご存じですか?

で、ここを見ると、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15189&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14061&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12905&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12272&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12038&forum=7
こういうスレッドがあったりするのですが、読んでみましたか?


 その他、
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html#i14
これも参考になると思います。
_________________
未記入
会議室デビュー日: 2004/10/10
投稿数: 3
投稿日時: 2004-10-11 22:21
Jitta様、素早いご返信ありがとうございます。

列挙して頂いたページは、拝見していたんですが・・・
チェックした行に対してsessionを使うことは、なんとなくわかるのですが、チェックボックスに複数のチェックがある場合に、配列を使ってsessionを使う方法がわかりません。
大変お手数ですが、参考になるページを教えて頂けないでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-11 22:35
 え〜っと、なんか、このマシンに入れているVS.NETの調子が悪いので、試したりなんなりしていません。クラスやメソッドの名前は、コピペせずに、MSDNで確認してから使用してください。


 ボタンをクリックしたところで、チェックされたチェックボックスだけ検査することはできているのでしょうか?
 それができたなら、チェックされたチェックボックスと、その行に表示されていたデータを結びつける作業が必要ですが、それはできるでしょうか?
 チェックされた行がわかったら、その行を識別するためのIDが取得できることが必要ですが、それはできますか?
 IDが取得できれば、それをArrayListにAddしていけば、とりあえず「チェックされた行を保管」することができます。
 チェックされた行を保管できたら、ArrayListごと、Session変数に名前を付けて放り込みます。
 遷移先のページのサーバコードで、Session変数からArrayListを取り出します。
 ArrayList.toArrayで、配列として取り出せますが、Iteratorで回す…のは「好み」の問題かな?
 IDが取り出せれば、もう一度SELECT文を発行して、データを取得できますよね。
 もちろん、ArrayListにはObjectが追加できるので、データそのものを追加してもかまいません。が、Session管理をInProcessで行っている場合はお勧めしません。
_________________
1

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