- PR -

ASP.NETで階層メニューをつくるには

投稿者投稿内容
バッドマン
会議室デビュー日: 2004/09/16
投稿数: 8
投稿日時: 2004-09-17 09:55
初めて投稿させて頂きます。
OS:Windows2000
開発言語:ASP.NET
DB:SQLServer

ASP.NETで階層メニューを作るにはどうしたらよいのか
わかりません。

階層メニューのイメージとしては

■テーブル定義
ID 親ID ラベル
1  NULL 親項目1
2  NULL 親項目2
3  1   子項目1−1
4  2   子項目2−1
5  1   子項目1−2
6  5   孫項目1−2−1
7  2   子項目2−2
8  4   孫項目2−1−1

■表示イメージ

親項目1
├−子項目1−1
├−子項目1−2
    └−孫項目1−2−1
親項目2
├−子項目2−1
│   └−孫項目2−1−1
└−子項目2−2

■動作
親項目をクリックすると子項目が開き、
子項目をクリックすると孫項目が開くメニュー

動作イメージサンプルURL
http://www.city.shiojiri.nagano.jp/Contents/Menu.asp?KUBUNNO=4

上記のような感じで作りたいのですが、
参考になるサイトなど、ご教授お願い致します。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-09-17 10:27
メニューを開いたときにPostBackを発生されるのかどうかによって作り方が異なります。
おそらくPostBackさせないほうがイイと思うのでクライアントスクリプトで実装することになります。
市販のTreeViewとか使っても実現できると思いますが、自作するのもそこまで難しくないと思います。
ちなみにASP.NETは言語ではありません。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-09-17 10:35
http://gotdotnet.com/Community/UserSamples/Default.aspx?query=Tree%20View%20Server%20control
適当に検索してたら見つけました。
これなんかどうでしょうね。
検索してみると他にも良いのが見つかるかも。
バッドマン
会議室デビュー日: 2004/09/16
投稿数: 8
投稿日時: 2004-09-17 11:07
burton999さん、一郎さん、ご返答ありがとうございます。
>ちなみにASP.NETは言語ではありません。
失礼しました。ASP.NETはフレームワークのことですよね。
言語はVB.NET2002です。

一郎さんのリンク先のサンプルをダウンロードしてソースを見ましたが、
C#で書かれていました。
TreeViewというのはVB.NETでも使うことはできるのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-09-17 22:52
 ご呈示のページの、「ソースを表示」は行いましたか?それが一番のお手本だと思うのですが。

 軽く説明しておくと、CSSのDISPAYをつかいます。最初に、「こうしたい」というのを、そのまま書いておきます。それから、階層ごとにDIV要素で囲み、IDを振ります。クリックされると、該当するIDの要素を探し、STYLE属性を探して、DISPLAYにアクセスし、変更します。
バッドマン
会議室デビュー日: 2004/09/16
投稿数: 8
投稿日時: 2004-09-21 09:45
Jittaさん、ご返答ありがとうございます。

Jittaさんの教えてくださいました方法で試してみます。
じいじ
大ベテラン
会議室デビュー日: 2003/11/11
投稿数: 223
投稿日時: 2004-09-21 12:39
おじゃまします。
ここでVisual Studio 2005 を持ってくるのは何ですが、参考までに・・・・
VS2005ですと、階層メニューは簡単にできてしまいます。(例によって「簡単に」の表現を使ってますが・・・・)
メニューそのものは、XMLファイルで作成し、メニュー形式のプロパティを、Windows Help形式にするだけです。
KIN
会議室デビュー日: 2004/09/27
投稿数: 5
投稿日時: 2004-09-27 10:15
こんにちは。
便乗ですみませんが、私もバッドマンさんと同じようなテーブル定義で
階層メニューを作成しようとしています。
下記のテーブル定義からどのようなSQLでデータを取得すれば作りやすいか、
皆様私にもご教授ください。

    引用:
    -----------------------------------------------------------------------
    ■テーブル定義
    ID 親ID ラベル
    1  NULL 親項目1
    2  NULL 親項目2
    3  1   子項目1−1
    4  2   子項目2−1
    5  1   子項目1−2
    6  5   孫項目1−2−1
    7  2   子項目2−2
    8  4   孫項目2−1−1

    -----------------------------------------------------------------------

環境はWindows2000 SP4
言語はVB.NETを使用しています。
開発歴は1ヶ月程度です。

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