当前位置: 代码迷 >> ASP.NET >> treeview 点击节点后“不收缩”(因为点部门节点后,所有的节点都收缩了,只看到公司这个根节点)如何搞
  详细解决方案

treeview 点击节点后“不收缩”(因为点部门节点后,所有的节点都收缩了,只看到公司这个根节点)如何搞

热度:7597   发布时间:2013-02-25 00:00:00.0
treeview 点击节点后“不收缩”(因为点部门节点后,所有的节点都收缩了,只看到公司这个根节点)怎么搞?
treeview 点击节点后“不收缩”(因为点部门节点后,所有的节点都收缩了,只看到公司这个根节点)怎么搞?
另外:打开一个部门节点后,其他所有打开的部门节点自动收缩

有 TreeView1_SelectedNodeChanged 事件

我做的一个功能是:
点+/-右边的公司或部门后,在 treeview 右边的 GridView 里显示相关的员工数据(这个实现了)

------解决方案--------------------------------------------------------
在节点展开时间里面进行处理
C# code
private void tvDevice_BeforeExpand(object sender, TreeViewCancelEventArgs e)        {           if (e.Action != TreeViewAction.Unknown)           {              //这里循环折叠其余节点           }         }
------解决方案--------------------------------------------------------
C# code
        protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)        {            //TreeView1.SelectedNode.ToggleExpandState();            TreeView1.CollapseAll();            TreeView1.SelectedNode.Expand();            TreeNode node = TreeView1.SelectedNode;            while (node.Parent != null)            {                node.Parent.Expand();                node = node.Parent;            }        }
------解决方案--------------------------------------------------------
C# code
  protected void Treeview1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)    {        if (e.Node.Depth != 0)        {             foreach (TreeNode item in Treeview1.Nodes)            {                if (e.Node.Value == item.Value)                {                    item.Expand();                }                else                {                    item.Collapse();                }            }        }    }
  相关解决方案