- PR -

TreeViewの追加方法について教えて下さい

1
投稿者投稿内容
Kimi
会議室デビュー日: 2008/10/03
投稿数: 7
投稿日時: 2008-10-03 18:21
ASP.NETで開発を始めてまだ2ケ月程の新人です。
VS2005環境で、現在社内在庫管理のプログラムを作成しています。

今までメニュー項目の表示をMENUオブジェクトで行っていたのですが、品種の多様化でメニュー項目が多くなり見づらくなってきたので、TreeViewに変更しようとしています。

TreeViewの構成はなんとか理解できたのですが、やり方が悪いのか、どうもうまくいきません。
現在、以下のように作り込みをしたのですが、子ノードの再帰(?)処理で時間が掛かり、タイムアウトになってしまいます。

入力ファイルはsaitemapを使用せず、自分で作成したテーブル(SQLserverです)から読込んで項目にセットします。


■テーブルの読み込み
Do While reader.Read()
Dim node As New TreeNode()
node.NavigateUrl = reader.GetString(0)
node.Text = reader.GetString(1)
node.Value = reader.GetString(0)
@ Me.CreateNode(reader.GetString(0), node.ChildNodes) <===ここで時間が掛かっています
nodes.Add(node)
Loop

※この@の行を外すと、全てのデータが親ノードの形で作成され、子ノードが何もできません。

たくボン
会議室デビュー日: 2008/10/06
投稿数: 5
投稿日時: 2008-10-06 11:10
まず、これだけのコードでは判断しにくい部分がありますので、いくつか確認させてください。

@MeはWebPageでしょうか?CreateNode()が自作の関数でしょうか?
A再帰処理がどのようなものか理解できていますか?
B戻り値は適切ですか?再帰処理で無限ループに落ちていませんか?

たぶん、これだけ言えば後はなんとかなりそうですね
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-10-06 14:33
このスレッドを編集しないで新しくスレッドを建てたようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46667&forum=7

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

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