こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

ASP.net C# データの列表示

よろしくお願いいたします、ASP.net初心者です。C#でwebページ上にSQL Server上のデータを下記のように表示させたいのですが、どのようにすればいいのか全くわからず困っています。


<データベース>

アイテム名  店舗名   数量
--------------------------
アイテム1   店舗1   2
アイテム2   店舗1 3
アイテム3    店舗1 1
アイテム1   店舗2 2
アイテム3   店舗2 3


<Webページでの出力>

アイテム名  店舗1   店舗2
------------------------------
アイテム1      2      2
アイテム2      3      0
アイテム3      1      3


Webサイトの機能としては、ユーザーが都道府県を選択すると、その情報がパラメータとして渡されます。そのパラメーターを受け取ってクエリーを実行してデータを出力します。店舗数は選択した都道府県により異なります。

インターネットでも調べてみたのですが、検索の仕方が悪いためか、解決策がなかなか見つからず、質問させていただくことにしました。

ご教授いただければ 大変助かります。
よろしくお願いいたします。

投稿日時 - 2015-01-08 10:57:16

QNo.8884094

困ってます

質問者が選んだベストアンサー

>>多分用意されているListViewやGridViewなどは使えないのでしょう。

そんなことはないです。今回のレベルなら、画面に表示したいデータをC#のコードを使って作り上げて、その結果をListViewやGridViewに表示するようにすればいいだけだと思います。
とはいえ、初心者にとっては、なかなか先の長い道のりであるのは、確かかもしれませんね。

まあ、同様のことはMSのデータベースソフトのAccessでも、昔のボーランドのDelphiでも、オープンソースのRubyonRailsでもありました。これらを使うと、ちょいちょいと操作をすれば、フレームワークがデータベースを読み込んで、結果を画面に表示するプログラムを作ってくれます。でも、

「すごく簡単にプログラムが作れたなあ。でも、ちょっと表示方法・操作方法が気に入らない。ちょっとだけ直したい」

と思ったとき、そこから先は、使われている言語の勉強、フレームワーク自体の勉強、そのフレームワークが決めた動きを出し抜いて、自分の思い通りの動作をさせる方法を探さないといけないことになったりします。こうなると、腰をすえて長い勉強の始まりとなります。


さらに勉強が進んで、それらが理解できたとして、さらに細かな要望を実現したいとき、質問者さんの言われるように、自分の希望する動作をさせるには「用意されているListViweやGridViewなどが使えない」と判明することがあります。

わたしもC#でWindowsアプリを作っているとき、GridViewを自分の思うような動作をさせるには、機能が足りないことに気がついたことあります。このときは、GridViewのソースコードを追いかけて解析し、自分用のGridViewカスタムコンポーネントを作って対処しましたけど、元のコードが長くて時間がかかりましたね。

そして、私が勉強したとき、「C#によるカスタムコンポーネントプログラム」とか、「プログラミングADO.NET 2.0/マイクロソフト公式解説書」が役にたちました。

投稿日時 - 2015-01-14 06:54:20

お礼

ご丁寧にありがとうございます。ListView や GridView は使える可能性があるようので、まずはC# のコードを作ることに注力してみたいと思います。フレームワークをそのまま使用する場合は簡単だけれど、少しでも変更しようと思うと時間をかけて勉強する必要があるということにすごく納得しました。ASP.NETを勉強するいい機会なので、がんばってみます。また、ご紹介いただいた本も見てみたいと思います。

投稿日時 - 2015-01-14 08:24:07

ANo.3

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(3)

ANo.2

私は、C#で通常のWindowsアプリは作成したことありますけど、C#でASP.Netのフレームワークを使ってのWebを作ったことはありませんが・・・

JavaやPHPでの開発では、プログラマが「こういうふうに出力したい」と思えば、それが出力されるようなコードを、シコシコとコーディングします。
ですから、「こんなふうに表示したい」と思ったら「そういうふうに表示されるようにコードを書きあげる」っていうだけです。
そのやり方が判らないばあいは、ASP.NetやC#、SQL Server、SQL言語に関する文献を読んで勉強するだけです。
(まあ、数ヶ月とか数年の学習期間が必要かもしれませんが・・・)

たぶん、手順としては、Webページで表示するデータが得られるSQL命令が発行されるようにロジックを組み立て、その結果をWebページに編集出力すればいいと思います。

がんばってください。

投稿日時 - 2015-01-12 21:31:34

お礼

ご回答ありがとうございます。多分用意されているListViewやGridViewなどは使えないのでしょう。時間がかかりそうですが、もっとAPS.NETを勉強してみます。ありがとうございました。

投稿日時 - 2015-01-13 07:03:46

ANo.1

C#なんてページを編集するだけでしょう。

ページに<table>ブロックをつくればいいだけじゃないですか。
<table border="1">
<tr><th>アイテム名</th><th>店舗1</th><th>店舗2</td></tr>
<tr><td>アイテム1</td><td>2</td><td>2</td></tr>
<tr><td>アイテム2</td><td>3</td><td>0</td></tr>
<tr><td>アイテム3</td><td>1</td><td>3</td></tr>
</table>

こんなこと、わざわざサイトで説明する人は居ないとおもいますよ。

投稿日時 - 2015-01-08 12:13:02

補足

ご回答ありがとうございます。
質問内容があまり明確でなかったようですね。すみません。やりたいことは、<td>を店舗ごとに動的に設定したいのです。<td>の数は選択した都道府県によってことなりますので2列の場合もあれば5列になる場合もあります。
見当違いかもしれませんが、データを一度 Arrayに登録して、loopしてテーブルを書いていくのかなと、なんとなく思っています。

投稿日時 - 2015-01-08 13:14:15

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-