TFS 作業項目が取り込まれた DevComponents.AdvTree があります。各ワークアイテムには、「Folder」と呼ばれるプレーンテキスト文字列があり、レガシー システムでアイテムが保存されたフォルダー構造が保持されます。
ツリービュー ノードをドラッグ/ドロップすると、ノードのフル パスに一致するように「フォルダ」文字列が自動的に更新されるように機能を実装しました。
ワークアイテムに次のような「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;
}
;
元の「Folder」文字列にセミコロンが含まれていない限り、これで問題ありません。この場合、有効な/
セミコロンがtoo に置き換えられ、フォルダー構造全体が変更されます。
既存のすべてのセミコロンを別の文字または文字列に置き換えて、これを TreeView に表示するという解決策を考えました;
が、これは非常に複雑に思えます。
誰かがもっと簡単な解決策を提供できますか?
ありがとう、
アンディ