0

我有一个显示分层文件夹结构的 ASP.net TreeView 控件。TreeView 中的每个节点都有一个 Long 值属性,对应一个 FolderId;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。你必须一次做一个节点,见这里:http ://forums.asp.net/t/1099367.aspx/1

所以现在我遍历所有的 FolderIds 并一次打开它们。要记住的重要一点是,尽管您一次打开它们,但您仍然需要使用完整的 valuepath。

有关更多信息,请参阅上面的链接。

于 2012-10-17T15:49:40.273 回答