0

階層フォルダー構造を表示する ASP.net TreeView コントロールがあります。TreeView の各ノードには、FolderId に対応する Long 値プロパティがあります。Text プロパティは次のようにフォルダ名です。

TreeNode node = new TreeNode();
node.Text = "folder name";
node.Value = 12345;
nodes.Add(node);

FolderId を渡して、TreeView を特定のノードに自動展開する必要があります。

TreeView には、「値パス」(文字列) プロパティを取ると思われる FindNode() メソッドがあります。これは私が得ることができる限りです:

string folderIdPath = "72|73|77";

TreeView1.PathSeparator = '|';
TreeView1.FindNode(folderIdPath).Expand();

ただし、これにより「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーがスローされます。

4

1 に答える 1

0

したがって、TreeView を一度にすべて展開することは実際にはできないことがわかります。一度に 1 つのノードで実行する必要があります。こちらを参照してください: http://forums.asp.net/t/1099367.aspx/1

そこで、すべての FolderIds をループして、一度に 1 つずつ開きます。覚えておくべき重要なことは、一度に 1 つずつ開く場合でも、完全な値パスを使用する必要があるということです。

詳細については、上記のリンクを参照してください。

于 2012-10-17T15:49:40.273 に答える