我有一个DevComponents.AdvTree,其中填充了TFS工作项。每个工作项都有一个名为“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;
}
这很好,除非原始“文件夹”字符串中包含分号;
。在这种情况下,有效分号也会被/
替换,导致整个文件夹结构发生变化。
我想到了一个解决方案,我用其他字符或字符串替换所有现有的分号,并在TreeView中将其显示为;
,但这看起来非常复杂。
有人能提供更简单的解决方案吗?
谢谢,
安迪
答案 0 :(得分:0)
感谢JleruOHeP在评论中回答了这个问题。
在为AdvTree返回FullPath时用于分隔节点的字符实际上可以在运行时使用以下代码进行更改:
testCaseTreeView.PathSeparator = "/";
如果使用标准TreeView,可以在设计时设置。