许松--永恒学习屋
努力并不一定会成功,但放弃一定会失败!
posts - 147,comments - 79,views - 19万

1.当然有一个TreeView咯,这里ID名为 treeViewType

<asp:TreeView ID="treeViewType" runat="server" ExpandDepth="1"></asp:TreeView>

 

2.然后需要两个按钮,其中 TreeviewExpandCollapseAll 为JS方法,后面介绍

<input type="button" value="展开" class="but1" onclick="TreeviewExpandCollapseAll('<%=treeViewType.ClientID%>', true)" />
<input type="button" value="收缩" class="but1" onclick="TreeviewExpandCollapseAll('<%=treeViewType.ClientID%>', false)" />

 

3.最关键的JS方法来了,嘿嘿

复制代码
/*
* 树展开收缩方法 2010-03-23 PM By WQY
* treeViewId: 树对象
* expandAll: 展开或收缩
*/
function TreeviewExpandCollapseAll(treeViewId, expandAll) {
    var displayState 
= (expandAll == true ? "none" : "block");
    var treeView 
= document.getElementById(treeViewId);
    
if (treeView) {
        var treeLinks 
= treeView.getElementsByTagName("a");
        var nodeCount 
= treeLinks.length;

        
for (i = 0; i < nodeCount; i++) {
            
if (treeLinks[i].firstChild.tagName) {
                
if (treeLinks[i].firstChild.tagName.toLowerCase() == "img") {
                    var currentToggleLink 
= treeLinks[i];
                    var childContainer 
= GetParentByTagName("table", currentToggleLink).nextSibling;
                    
if (childContainer.style.display == displayState) {
                        eval(currentToggleLink.href);
                    }
                }
            }
        }
    }
}

function GetParentByTagName(parentTagName, childElementObj) {
    var parent 
= childElementObj.parentNode;
    
while (parent.tagName.toLowerCase() != parentTagName.toLowerCase()) {
        parent 
= parent.parentNode;
    }
    
return parent;
}
复制代码
posted on   yongheng's blogs  阅读(2168)  评论(4编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
< 2010年6月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示