【问题标题】:treeview change place after checking node检查节点后树视图更改位置
【发布时间】:2014-07-01 19:24:03
【问题描述】:

我有一个 asp.net 树视图。 在展开的节点上,我正在为展开的节点绑定子节点。 但是如果我检查节点而不是展开它,节点和它的所有子节点都会改变位置并变得像主节点的子节点。再次单击 + 时,它会出现在正确的位置。 关于如何解决它的任何想法!!!

那是更新面板中的树

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
        <asp:TreeView ID="MyTreeView" runat="server" ImageSet="XPFileExplorer" NodeIndent="15"
    OnTreeNodeExpanded="MyTreeView_TreeNodeExpanded">
    <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
    <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px"
        NodeSpacing="0px" VerticalPadding="2px" />
    <ParentNodeStyle Font-Bold="False" />
    <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
        VerticalPadding="0px" />
</asp:TreeView>

        </ContentTemplate>
</asp:UpdatePanel>

从后面的代码: 在页面加载时我有:

if (!this.IsPostBack)
            {
                this.MyTreeView.ShowCheckBoxes = TreeNodeTypes.All;
                this.MyTreeView.ShowLines = true;
                FillTree();//custom method just to fill the tree
            }

    protected void MyTreeView_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
    {
        TreeNode expandedNode = e.Node;

        if (expandedNode.Value != "-1" && expandedNode.Value == "-2")
        {
            //Some logic
        }

    }

提前致谢

【问题讨论】:

    标签: c# asp.net treeview


    【解决方案1】:

    这个 JavaScript 函数修复树:

    function FixTreeview(treeView) {
                try {
                    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;
                                    try {
                                        eval(currentToggleLink.href);
                                    } catch (e) {
                                    }
                                }
                            }
                        } 
                    }
                } catch (e) {
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多