0

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 に表示するという解決策を考えました;が、これは非常に複雑に思えます。

誰かがもっと簡単な解決策を提供できますか?

ありがとう、

アンディ

4

1 に答える 1

0

コメントでこれに答えてくれた JleruOHeP に感謝します。

AdvTree の FullPath を返すときにノードを区切るために使用される文字は、次のコードを使用して実行時に実際に変更できます。

testCaseTreeView.PathSeparator = "/";

標準の TreeView を使用している場合、これは設計時に設定できます。

于 2012-12-21T14:17:35.867 に答える