

ASP.NETの勉強のためにチームのメンバーを管理する
ページを作っています。
VisualWebDeveloper2008のVBで作っています。
DBにはチーム名とチームの所属メンバーとメンバー一覧の3テーブルがあります。
これらをJOINしてGridViewに表示させたいと思います。
検索結果ではAチームに3人いる場合、3レコード取得されます。
画面に表示させるときには1レコードでメンバーの列だけ3行にしたいと思います。
Templateを指定するとできそうな気がするのですが、メンバーを検索するデータソースの条件にその行のチームコードを指定する方法が分かりません。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
GridViewにBindする前に、クエリの結果を格納したDatatableをいじってから
Bindを行えば
1行目| Aチーム | AAA
| | BBB
| | CCC
2行目| Bチーム | DDD
という表示は可能な気がします。
方法としては単純に
For i as integer = 0 to datatable.rows.count -1
if i > 0 then
if datatable.rows(i)("チーム名").Tostring.equals(datatable.rows(i-1)("チーム名").Tostring) then
datatable.rows(i)("チーム名") = String.Empty
end if
end if
Next i
(Aチーム、Bチームも同様の処理を行う)
この後、GridViewにバインドを行う。
といった感じに、前の行と今の行が同一の文字列なら空文字を入れる
という処理で解決できないでしょうか?
的を射ていない回答であれば申し訳ないですが・・。
No.1
- 回答日時:
>> 画面に表示させるときには1レコードでメンバーの列だけ3行にしたいと思います。
この部分が少しわかりません・・。
SELECT [メンバー一覧].[メンバー名]
FROM [チーム名]
LEFT JOIN [チームの所属メンバー]
ON [チーム名].[チーム名の主キー] = [チームの所属メンバー].[チームの所属メンバーの主キー]
LEFT JOIN [メンバー一覧]
ON [チーム名].[チーム名の主キー] = [メンバー一覧].[メンバー一覧の主キー]
WHERE <検索条件>
で、検索条件に合致したチームメンバー名が
SELECTの結果として3件返ってきたとします。
クエリーの結果
AAAA
BBBB
CCCC
それをGridViewでは1レコードで3行(3列?)で
AAAA|BBBB|CCCC|・・・・
としたいということでしょうか?
>>メンバーを検索するデータソースの条件にその行のチームコードを指定する方法が分かりません。
データソースの条件というかSQLクエリに対する条件に
チームコード(恐らくチーム名テーブルの主キー?)を指定する方法が
わからないということでしょうか?
検索をどのように行うのかイメージをお伝え頂ければもう少しお力になれるかもしれません。
例えば
(1)画面上にはチーム名を入れるテキストボックスがあり、
そこにチーム名を入力すると、該当するチームが表示される。
(2)画面上のGridに表示されたチームをラジオボタン等で選択、
またはボタン等を押下すると画面が遷移し、チームの詳細が閲覧できる。
また、画面上にチームの主キーを表示するかどうかで
内部的に値を持たせるか画面上から主キーを拾って表示するか等で
めんどくささが変わってくると思います。
##DBのレイアウトですが、チーム所属メンバーとメンバー一覧は分けなくても良いのではないでしょうか?
チーム所属メンバーテーブルに
チームの主キー |メンバーの主キー(2)|メンバーの情報
所属メンバーテーブルとメンバー一覧を分ける意図はあるのでしょうか?
この回答への補足
ありがとうございます。
画面のイメージは
チーム名 | メンバー
1行目| Aチーム | AAA
| | BBB
| | CCC
2行目| Bチーム | DDD
・・・
のようにしたいです。テーブルのSELECTは合っています。
GridViewにメンバーがいるか?といわれるといらない気もしますが
これはGridViewの勉強なのでデータの意味はあまり問題にしていません。
現行のシステムで、VBScriptでこのような見栄えを作っているので
移植できるかどうかを試しています。
テーブル構造ですが、
「メンバーはそれぞれ情報をもっていて複数のチームに所属できる」
として、正規化したら3つに分かれました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
Strutsのデータ受け渡しについて
-
サブミット後、自動的に画面を...
-
strutsで、JSP→アクションクラ...
-
C言語で今まで表示していた画面...
-
Java-jspの画面入力値保持について
-
子画面から孫画面をポップアッ...
-
JSPから出力されたHTML画面のcl...
-
java初心者です。 画面Aで情報...
-
【JSP】input typeで入力された...
-
画像の縦横比固定の計算方法。
-
ボタンが活性化の場合とは、ボ...
-
腕時計の時報をならないように...
-
フォーム上で押されたボタンに...
-
j-axis 腕時計のアラーム止めたい
-
webアプリを作ってます。エラー...
-
jspからServletを呼び、元のjsp...
-
javascriptでセッションを取得
-
ファイルが更新されない
-
Formatでmmが月と分を意味する理由
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
Java-jspの画面入力値保持について
-
C言語で今まで表示していた画面...
-
画面遷移を行わずに同一ページ...
-
ASP.NET 画面遷移前の状態を保...
-
MFCプログラミング
-
ボタンを押したあとに画像を表...
-
アドレスバーに引数を表示させ...
-
遷移元を判定したい!
-
C# ログイン画面からメイン画面...
-
Strutsのデータ受け渡しについて
-
ServletからServletへの値渡し
-
登録後、呼び出し元ページに戻...
-
検索画面→結果画面→検索画面と...
-
Strutsで画面遷移させない。
-
JSPから出力されたHTML画面のcl...
-
Beautiful Soupのインストール...
-
JAVAのセッション変数の上書き...
-
strutsで、JSP→アクションクラ...
-
ブラウザアドレスバーからのURL...
おすすめ情報