- - PR -
ASP.NET2.0 + GridView で列が動的な表の実現方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-12-11 11:52
ASP.NET2.0 + GridView について質問があります。
DBのあるテーブルのレコード内容を元に単純な2次元の表を作成することは GridViewで容易にできると思うのですが、 表の列の内容が動的に変化する、別テーブルのカラム要素である場合は どの様に実現すれば宜しいのでしょうか? 例えば各ユーザがファイルを触った日付を一覧表示する表だとします。 ■ file_table fcode : ファイルコード fname : ファイル名 ■ user_table uid : ユーザID uname : ユーザ名 ■ write_table fcode : ファイルコード uid : ユーザID touch_date : 更新日 このDBを基に、ファイル名、ユーザ名、ファイル更新日の一覧を 作りたいのです。 |ユーザ1|ユーザ2|ユーザ3|・・・ −−−−−+−−−−+−−−−+−−−−+−−− ファイル1|12/11 |12/10 |10/20 | ファイル2|11/28 |11/15 |12/10 | ファイル3|11/10 |11/25 |12/13 | ・・・ まずファイル1、ファイル2、・・・を選択するSqlDataSourceを作り、 各行の描画を行うイベント?で、各ファイルに対するユーザの一覧を検索し・・・ と考えたのですが、それですと2次元の表の形にならないと思いますし、 かと言って全ての組み合わせを事前に抽出できたとしても 列が動的のためどうセルに埋め込んでいいのやら、などと悩んでいます。 実現方法の概要、あるいはこんな事を調べた方が良いという キーワードだけでも教えていただけるとありがたいです。 宜しくお願いします。 | ||||||||
|
投稿日時: 2006-12-12 05:40
列数が動的に変化するのであれば、GridViewのBoundFieldをダイナミックに追加するしかないのでは。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2006-12-12 09:12
それ以前に、何故テーブルを結合したビューを作成しないのですか? 純粋に、このビューを元にして行項目と列項目のユニークなデータをソートしながら取得して、行と列を固定させて実データを当てはめて入れていくようなイメージになるかと思いますが。 _________________ R・田中一郎 - R.Tanaka.Ichiro’s Blog | ||||||||
|
投稿日時: 2006-12-12 09:22
これってソート順の問題もあると思うけれど、こんな表になるんじゃないですか? GridView でどうやるかはまた別問題ですけどね。
_________________ かるあ のメモ と スニペット | ||||||||
|
投稿日時: 2006-12-12 09:58
ご返答ありがとうございます。
> Accessさん BoundFieldですね、調べてみます。 > R・田中一郎さん Viewを作り、 ファイル1 ユーザ1 12/11 ファイル1 ユーザ2 12/10 ファイル1 ユーザ3 10/20 ファイル2 ユーザ1 11/28 ... といった結果は取れます。 >>行と列を固定させて実データを当てはめて入れていくようなイメージ の所の手段について、もう少しヒントをいただけますでしょうか? > かるあさん ネストした形の表でしたら、以前Accessさんが別件でお答えになっていた手段で できそうですね。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31016&forum=7&3 今回はなんとか、希望の形の表を作りたいと考えています。 | ||||||||
|
投稿日時: 2006-12-12 13:59
[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 19:49 ] | ||||||||
|
投稿日時: 2006-12-13 09:11
ご返答ありがとうございます。
>ぜうすさん いえいえ、助かります。 ストアドプロシージャでSQLを組み立て目的の形の表を作ってしまい、 その結果のデータセットを直接コントロールにバインドさせる、ということですね。 当方ストアドプロシージャは不勉強ですが、そちらの方向の勉強も進めてみます。 ありがとうございました。 | ||||||||
|
投稿日時: 2006-12-13 12:47
[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 19:50 ] |