2012-04-27 14 views
1

私はasp.net treeViewを持っています。 ノードを展開しました。私は、展開されたノードの子ノードをバインドしています。 しかし、もし私がノードをチェックしてそれを展開すると、そのノードとそのすべての子はその位置を変えてメインノードの子ノードのようになります。 +をもう一度クリックすると正しい場所に移動します。 それを解決する方法についての任意のアイデア!!!ノードを確認した後にツリービューの変更箇所

背後にあるコードからのUpdatePanel

<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 
     } 

    } 

は、事前に感謝

答えて

0

この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) { 
      } 
     } 
関連する問題