另外:打开一个部门节点后,其他所有打开的部门节点自动收缩
有 TreeView1_SelectedNodeChanged 事件
我做的一个功能是:
点+/-右边的公司或部门后,在 treeview 右边的 GridView 里显示相关的员工数据(这个实现了)
4 个解决方案
#1
在节点展开时间里面进行处理
private void tvDevice_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
if (e.Action != TreeViewAction.Unknown)
{
//这里循环折叠其余节点
}
}
#2
楼上的不行啊
#3
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;
}
}
#4
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();
}
}
}
}
#1
在节点展开时间里面进行处理
private void tvDevice_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
if (e.Action != TreeViewAction.Unknown)
{
//这里循环折叠其余节点
}
}
#2
楼上的不行啊
#3
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;
}
}
#4
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();
}
}
}
}