0

ツリー ビューには、DB からのデータが読み込まれます。選択したコンボ ボックス項目のツリー ビューをフィルター処理したい。誰かがこれを実行する方法を教えてくれますか?

 public SelectorDataTreeView()
        {            
            InitializeComponent();

            button1.FlatStyle = FlatStyle.Flat;

            comboBox1.Items.Add("HP");
            comboBox1.Items.Add("DELL");
            comboBox1.Items.Add("Cam");

        }






        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
           String s = comboBox1.SelectedItem.ToString();
           ExpandAll(MyTreeView.Nodes);
        }




        //TreeKey Finder
        private TreeNode[] FindNode(String searchKey)
        {

            return MyTreeView.Nodes.Find(searchKey, true);

        }
}
4

2 に答える 2

1

あはは、これはあなたのせいです。
String s = comboBox1.SelectedItem.ToString();
これを使用する必要があります:
String s = comboBox1.Text;
それは働いています。また、プロパティではなく
ノード プロパティを検索する必要があります。 取得した後は、次のように使用する必要がありますNameText
s
treeView1.SelectedNode = treeView1.Nodes.Find("WantedNodesName", true)[0]; treeView1.SelectedNode.Expand();

于 2012-07-01T12:05:23.757 に答える
1
private void Form4_Load(object sender, EventArgs e)
    {
        treeView1.Nodes.Add("LaptopsNodeKey", "Laptop");
        treeView1.Nodes.Add("CellPhonesNodeKey", "Phones");
        treeView1.Nodes.Find("LaptopsNodeKey", true)[0].Nodes.Add("DellTM", "Dell");
        treeView1.Nodes.Find("LaptopsNodeKey", true)[0].Nodes.Add("SonyTM", "Sony");
        treeView1.Nodes.Find("CellPhonesNodeKey", true)[0].Nodes.Add("HTCTM", "HTC");
        treeView1.Nodes.Find("CellPhonesNodeKey", true)[0].Nodes.Add("NokiaTM", "Nokia");

        comboBox1.Items.Add("LaptopsNodeKey");
        comboBox1.Items.Add("CellPhonesNodeKey");

        comboBox2.Items.Add("Laptop");
        comboBox2.Items.Add("Phones");
    }

    //This works because you Loaded ComboBox1 with Name property of Nodes
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        treeView1.CollapseAll();
        treeView1.SelectedNode = treeView1.Nodes.Find(comboBox1.Text, true)[0];
        treeView1.SelectedNode.Expand();
    }

    //This doesn't work, because you Loaded ComboBox2 with Text property of Nodes
    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        treeView1.CollapseAll();
        treeView1.SelectedNode = treeView1.Nodes.Find(comboBox1.Text, true)[0];
        treeView1.SelectedNode.Expand();
    }
于 2012-07-01T11:51:50.290 に答える