C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: TreeViewの階層について


(過去ログ 60 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■34612 / inTopicNo.1)  TreeViewの階層について
  
□投稿者/ Neil (5回)-(2009/04/02(Thu) 22:06:50)

分類:[ASP.NET (C#)] 

こんにちは、いつも掲示板でお世話になっております。

現在、ツリービューコントロールを使ったシステムを作成中なのですが、
判らない所が出てきたので書き込みに来ました。


■開発環境
Windows XP
VisualStudio2005

■開発言語
ASP.NET
C#


質問としましては、
どんどん投稿者によって投稿される記事で階層が深くなるツリービューを作成しているのですが、
どのように作成したら良いのかが判らないのです。
階層毎に作る・・・と言えど、下記にも書きましたが、「フォルダ」「ドキュメント」は、n階層まで作成可能なので、ロジックをどう組めばよいのか判りません。お手数ですが、ご教授お願い致します。

具体的に申しますと私が今作ってるシステムは、「カテゴリ」「フォルダ」「ドキュメント」と3種類の投稿の仕方があります。
この内「カテゴリ」は第0階層でしか生成されませんが、「フォルダ」「ドキュメント」は、第1階層〜第n階層まで作成出来る仕様になっております。

作成方法は、「カテゴリ」をクリックすると「フォルダ新規作成」「ドキュメント新規作成」のボタンが現れる画面が出ます。そこでどちらかを選び作成します。

「フォルダ」をクリックすると「フォルダ新規作成」と「ドキュメント新規作成」のボタンが現れる画面が出ます。そこで例えば「フォルダ」を選択して作成するとフォルダの中にフォルダが出来るという形になります。

「ドキュメント」をクリックすると「ドキュメント」の詳細が出る画面に遷移するだけで、「フォルダ」を作成する事は出来ません。


例図>>
/* ( )内がLevel(深度)、"*"は空白とみなしてください */

カテゴリ(0)
* ├フォルダ(1)
* │*└フォルダ(2)
* │***└フォルダ(3)
* │***└文書(3)
* │****└フォルダ(4)
* ├文書(1)
* ├フォルダ(1)
* │*└フォルダ(2)
* └文書(1)

ソースは長くて文字制限に掛かる為に、下記URLに掲載しております。(○をtに変えてください)
ht○p://simple-smile.chu.jp/prog.txt


以上、お手数ではありますが、どなたかご教授お願い致します。
言葉足らずな部分ありましたら、また随時お答え致します。
宜しくお願い致します。
引用返信 編集キー/
■34621 / inTopicNo.2)  Re[1]: TreeViewの階層について
□投稿者/ επιστημη (1864回)-(2009/04/03(Fri) 06:15:11)
επιστημη さんの Web サイト
> どのように作成したら良いのかが判らないのです。

なにがわからんのかわからんです。
選択されたノードの種別:「カテゴリ」「フォルダ」「ドキュメント」
に応じて処理を分けるだけじゃないんすか?

引用返信 編集キー/
■34622 / inTopicNo.3)  Re[2]: TreeViewの階層について
□投稿者/ もろへいや (3回)-(2009/04/03(Fri) 09:11:17)
フォルダ構造=ツリー構造でないならば
XMLで構造を持っておけば良いんじゃないかな?
もしフォルダ構造=ツリー構造ならそのままツリー表示しちゃえばいいわけだし。

引用返信 編集キー/
■34623 / inTopicNo.4)  Re[3]: TreeViewの階層について
□投稿者/ ロック (170回)-(2009/04/03(Fri) 09:31:52)
とりあえず、ツリーのn階層の作成方法がわからないという方向で

ツリーといえば、やはり再帰だと思います。
(#CreateListTree()の中でCreateListTree()呼ぶ感じ)
「おまえ、どんだけその本好きなんだよ」と突っ込まれるくらい
毎回同じ本を出してきますが。

「Visual Studio 2005でいってみよう〜ASP.NET 2.0編 」
という本の画像掲示板で使われているツリーは、n階層のツリーを
作成しています。
サンプルがDLできるので参考にしてみてはいかがでしょうか
http://seshop.com/detail.asp?pid=8094
(Bbs.aspxのAddChildArticles()がソレ)

ただ、他の人のプログラムは興味はあっても読み辛いことが
あるので、逆に遠回りになるかもしれませんが。。。

引用返信 編集キー/
■34627 / inTopicNo.5)  Re[1]: TreeViewの階層について
□投稿者/ .SHO (780回)-(2009/04/03(Fri) 11:42:55)
> ソースは長くて文字制限に掛かる為に、下記URLに掲載しております。(○をtに変えてください)
> ht○p://simple-smile.chu.jp/prog.txt

何がわからないのかを明確にし、ソースをわからない部分のみにしてください。
文字制限に掛かるほどの長いソースを読む気にはなりません。

引用返信 編集キー/
■34708 / inTopicNo.6)  Re[2]: TreeViewの階層について
□投稿者/ Neil (6回)-(2009/04/06(Mon) 22:20:35)
No34621 (επιστημη さん) に返信
>>どのように作成したら良いのかが判らないのです。
>
> なにがわからんのかわからんです。
> 選択されたノードの種別:「カテゴリ」「フォルダ」「ドキュメント」
> に応じて処理を分けるだけじゃないんすか?
>

こんばんは、お返事が遅くなりまして大変失礼致しました。
説明が足りずに申し訳ありません。

カテゴリ・フォルダ・ドキュメントにノードの種類に分けての処理は出来ているのですが、
私の作成しているツリーは、フォルダ・ドキュメントに関してだけ、ノードの深度がn階層まで出来るのです。
そこで、n階層分のフォルダ・ドキュメントの処理をするに至り、どのようなプログラミングをすれば良いのかが判らないという事です。


現状の上でも記載しましたURL上のソースでは、「第2階層のフォルダの処理」といったように、第○階層毎に処理を書いています。そこを第n階層というようにフォルダ・ドキュメントの階層を判断して振り分けで生成するようにしたいのです。
引用返信 編集キー/
■34709 / inTopicNo.7)  Re[3]: TreeViewの階層について
□投稿者/ Neil (7回)-(2009/04/06(Mon) 22:22:21)
No34622 (もろへいや さん) に返信
> フォルダ構造=ツリー構造でないならば
> XMLで構造を持っておけば良いんじゃないかな?
> もしフォルダ構造=ツリー構造ならそのままツリー表示しちゃえばいいわけだし。
>

こんにちは。お返事が大変遅くなりまして申し訳ございません。
XMLの利用の仕方をイマイチ私の方が理解しておりません。
また、XMLは仕様の関係から私の開発中のシステムでは利用出来ないのです。

折角、アドバイスを頂いたのに大変申し訳ございません。でもコメント有難うございます!
引用返信 編集キー/
■34710 / inTopicNo.8)  Re[4]: TreeViewの階層について
□投稿者/ Neil (8回)-(2009/04/06(Mon) 22:26:15)
No34623 (ロック さん) に返信
> とりあえず、ツリーのn階層の作成方法がわからないという方向で
>
> ツリーといえば、やはり再帰だと思います。
> (#CreateListTree()の中でCreateListTree()呼ぶ感じ)
> 「おまえ、どんだけその本好きなんだよ」と突っ込まれるくらい
> 毎回同じ本を出してきますが。
>
> 「Visual Studio 2005でいってみよう〜ASP.NET 2.0編 」
> という本の画像掲示板で使われているツリーは、n階層のツリーを
> 作成しています。
> サンプルがDLできるので参考にしてみてはいかがでしょうか
> http://seshop.com/detail.asp?pid=8094
> (Bbs.aspxのAddChildArticles()がソレ)
>
> ただ、他の人のプログラムは興味はあっても読み辛いことが
> あるので、逆に遠回りになるかもしれませんが。。。
>


こんにちは。コメント有難うございます。
そしてお返事が遅くなりまして申し訳ございません。

早速ダウンロードをしてみましたが、他の方のソースを読むのは、大変ですね。
四苦八苦しております。
しかしながら開発時間も短いので、問題のシステムの方も手をつけねばならないので
頑張ります。

ロックさんが意味を解釈してくださって嬉しかったです。
私がまさに知りたいのは「n階層のノードの生成」です。

今の記載URLの私のソースですと第2階層の処理は〜〜〜とか第3階層の処理は〜〜と言ったように、
階層毎のフォルダ・ドキュメントで分かれて処理を作っている為に、無限大に作れるn階層のツリー
を作成するには不向きなソースなのです。


ソースを見ながら少しずつ色々やってみます。
引用返信 編集キー/
■34712 / inTopicNo.9)  Re[2]: TreeViewの階層について
□投稿者/ Neil (9回)-(2009/04/06(Mon) 22:31:36)
No34627 (.SHO さん) に返信
>>ソースは長くて文字制限に掛かる為に、下記URLに掲載しております。(○をtに変えてください)
>>ht○p://simple-smile.chu.jp/prog.txt
>
> 何がわからないのかを明確にし、ソースをわからない部分のみにしてください。
> 文字制限に掛かるほどの長いソースを読む気にはなりません。
>

こんにちは、コメント有難うございます。そしてお返事が遅くなりまして申し訳ございません。
初めに明確に質問したかった事が書けなかったのは、大変失礼いたしました。
もう少し整理してから質問すべきでした。

私が改めて質問したいのは「n階層のノードを生成するツリー」の作成の仕方です。
現在のソース(記載URL)のだと第2階層のフォルダの生成はこのソースで。第3階層のドキュメントの生成はこのソースで。と階層の「フォルダ」「ドキュメント」毎に処理を書かなければならないソースになっており、無限大に生成する事が可能なn階層のツリーを作るには、不適切なソースになっているのです。

そこで私の方が疑問とするのは「n階層のノードの生成」の処理をするプログラミングの書き方です。


ソースをもう少し短く出来れば良かったのですが、「ツリー生成」部分だけでかなりの量だった事、
ツリー生成の質問をしたかったからこそ、現在のツリー生成の部分のソースを見ていただきたかったから
このような形でURL記載を致しました。
引用返信 編集キー/
■34713 / inTopicNo.10)  Re[3]: TreeViewの階層について
□投稿者/ Neil (10回)-(2009/04/06(Mon) 22:34:16)
2009/04/06(Mon) 22:34:30 編集(投稿者)

皆様へ


こんばんは。お返事が皆様にお返しするのが遅くなりまして大変失礼致しました。
現在、上の方と本日相談する機会があり、ノードの生成における階層の制限を設けることになりそうで
システムの仕様が変わるかもしれなくなってきました。


よって一度、このトピックを閉めたいと思います。
誠に勝手ではありますが、皆様よりアドバイス・コメント頂けて助かりました。
もしn階層でのノード生成になった場合でも解決もしくは疑問が生まれましたら、こちらで
質問またフィードバックさせて頂きたいと思います。
そのときには宜しくお願い致します。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -