0

我有一个用 TFS 工作项填充的 DevComponents.AdvTree。每个工作项都有一个名为“Folder”的纯文本字符串,它保存项目在旧系统中保存的文件夹结构。

我已经实现了功能,以便树视图节点的拖放会自动更新“文件夹”字符串以匹配节点的完整路径。

如果工作项具有“文件夹”字符串,例如:

"Folder1/Folder2/Folder3"

那么 AdvTree 在 FullPath 属性中将其表示为:

"Folder1;Folder2;Folder3"

如果节点被拖放,则执行以下代码:

    public static void UpdateNode(Node node)
    {
        string nodePath;
        WorkItem wi = (WorkItem)node.Tag;

        nodePath = node.FullPath.Replace(';', '/');

        wi.Open();
        wi.Fields[30].Value = nodePath; //The 'Folder' string'
        wi.Save();
        wi.Close();
        wi = null;
    }

这很好,除非;原始“文件夹”字符串中包含分号。在这种情况下,有效的分号也会被替换为 a /,从而导致整个文件夹结构发生变化。

我想到了一个解决方案,用另一个字符或字符串替换所有现有的分号,并将其显示为;TreeView 中的 a ,但这似乎很复杂。

谁能提供更简单的解决方案?

谢谢,

安迪

4

1 回答 1

0

感谢 JleruOHeP 在评论中回答了这个问题。

返回 AdvTree 的 FullPath 时用于分隔节点的字符实际上可以在运行时使用以下代码进行更改:

testCaseTreeView.PathSeparator = "/";

如果使用标准 TreeView,这可以在设计时设置。

于 2012-12-21T14:17:35.867 回答