【问题标题】:ASP.Net TreeView Expand/Collapse All does not work when node icons are present存在节点图标时,ASP.Net TreeView Expand/Collapse All 不起作用
【发布时间】:2010-12-10 23:43:44
【问题描述】:

我使用以下 js 代码展开/折叠 ASP.Net TreeView 控件的所有节点:

// handle tree - this doesn't seem to work when the tree contains node images
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;
        alert(nodeCount);

        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);
                    }
                }
            }
        } //for loop ends
    }
}

//utility function to get the container of an element by tagname
function GetParentByTagName(parentTagName, childElementObj) {
    var parent = childElementObj.parentNode;
    while (parent.tagName.toLowerCase() != parentTagName.toLowerCase()) {
        parent = parent.parentNode;
    }
    return parent;
} 

问题是当我有 NodeStyle-ImageUrl="img/FolderSmall.gif" 时,打开第一个子节点后扩展失败 - 仅当存在节点图像时。 p>

JS错误是childContainer is null:

                    if (childContainer.style.display == displayState) {
                        eval(currentToggleLink.href);

我确定其他人遇到过这种情况,但我找到的所有展开/折叠代码都在同一点失败。

【问题讨论】:

    标签: javascript treeview expand collapse


    【解决方案1】:

    这确实是很久以前的事了,但如果我没记错的话,我只是包含了一个 1px 的图像占位符,以便在任何调用时都不返回 null。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 2010-12-05
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多