0

ac#WindowsフォームアプリケーションでbetfairAPIを使用しています。

getAlの販売()メソッドを呼び出すと、次のようなstingパスを含まない長い文字列が表示されます。

~\Cricket\Group C\England v South Africa\Test Series~  
~\Cricket\Group C\English Domestic\Clydesdale Bank 40 2012\Group Winners~ 
~\Cricket\Group C\England v South Africa\Test Series\England v South Africa (2nd Test)~

したがって、次のようなパスに従ってツリービューコントロールにデータを入力します。

step 1>Check if the path already exixts, then select the last node on the path, 
step 2>else create the whole path and select the last node,
step 3> add a custom child node to he selected last node of the path,

以前にツリービューを操作したことはありませんが、基本を学び、カスタムの子ノードもすでに作成されているので、詳細な回答が非常に役立ちます。事前に感謝します。

4

1 に答える 1

0

これはwpf用だったので、Windowsフォームではコードは次のようになります。

        List<string> mylist = market.Trim('~').Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries).ToList();
        if (mylist.Count > 0)
        {
            TreeNode root = new TreeNode(mylist[0]);
            treeView1.Nodes.Add(root);
            mylist.RemoveAt(0);

            TreeNode temp = root;
            foreach (string s in mylist)
            {
                temp = AddNode(temp, s);
            }

            treeView1.SelectedNode = root;
        }

最初のループは、ノードが存在する場合はそれを返し、そうでない場合は作成して返すことを意味します

           private TreeNode AddNode(TreeNode parent, string header)
    {
        foreach (TreeNode subitem in parent.Nodes)
            if (subitem.Text.ToString() == header)
                return subitem;
        TreeNode tvi = new TreeNode(header);
        parent.Nodes.Add(tvi);
        return tvi;
    }
于 2012-08-01T07:43:07.070 に答える