求助:点击treeView某节点,在listview中显示其所有子节点
在C#中要实现点击treeView中的某一节点,在listview中显示该节点下所有的子节点,该怎么做,需要定义事件吗,如果需要具体怎么做
------解决方案--------------------用一个递归,把你点击的节点的子结点写入到listview中不就可以了.
这还需要定义事件吗?你响应treeview的nodemouseclick事件或者是afterselect事件不就可以了.
下面是代码,不知道是不是你要的.
       /// <summary>
       /// 递归方法
       /// </summary>
       /// <param name="parent"></param>
       private void ReadChildNodeList(TreeNode parent,ListView listView)
       {
           foreach(TreeNode node in parent.Nodes)
           {
               listView.Items.Add(node.Text);
               ReadChildNodeList(node, listView);
           }
       }
       /// <summary>
       /// treeview的AfterSelect事件
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
       {
           this.listView1.Items.Clear();
           ReadChildNodeList(e.Node, this.listView1);
       }
------解决方案--------------------
------解决方案--------------------楼主结帖吧。1楼说的确实能实现的。。
------解决方案--------------------那就在就在treeView1_AfterSelect里先进行一下判定该节点是否需要节点就行了
在树节点展开时,建议给每个节点的tag或是name赋值,便于节点的判断
例如
  private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)  
       {  
         if(this.treeview1.nodes.tag=="ss") ////ss为判断条件     
         ReadChildNodeList(e.Node, this.listView1);  
       }
用name来判断也一样