請問可以在頁面上TREEVIEW外部做一個按鈕來控制TREEVIEW中的節點展開嗎?
比如PROJECT是主干,下面有ACTIVE,OVERDUE,COMPLETE 等節點,我在外部用一個按鈕可以把ACTIVE節點下面的數據展開嗎?
請高手指教~~

解决方案 »

  1.   

    将下面三个函数放在.cs文件中,然后在点击按钮时执行:FindInTree(你要展开结点的名称);
    private void FindInTree(string strNodeName)
    {
    foreach(TreeNode tn in TV_Org.Nodes)
    {
    if (tn.Text != strNodeName)
    {
    FindInTree(tn,strNodeName);
    }
    else
    {
    ExpandTree(tn);
    return;
    }
    }
    } private void FindInTree(TreeNode objTreeNode,string strNodeName)
    {
    foreach (TreeNode tn in objTreeNode.Nodes)
    {
    if (tn.Text != strNodeName)
    {
    FindInTree(tn,strNodeName);
    }
    else
    {
    ExpandTree(tn);
    return;
    }
    }
    } private void ExpandTree(TreeNode objTreeNode)
    {
    string strIndex = "0";
    objTreeNode.Expanded = true;
    strIndex = objTreeNode.GetNodeIndex();
    while (objTreeNode.Parent is TreeNode)
    {
    objTreeNode = ((TreeNode)objTreeNode.Parent);
    objTreeNode.Expanded = true;
    }
    TV_Org.SelectedNodeIndex = strIndex;
    }
      

  2.   

    fattycat兄弟,谢谢你,我的树是调用数据库写的,不知道上面的函数可以执行调用数据动态树吗?