2009-08-07 3 views
0

Ich habe eine RadTreeView auf einer MasterPage in 2 verschachtelten RadSplitters. Ich benutze LoadOnDemand, muss aber Knoten aus serverseitigem Code erweitern können. Ich versuche dies zu tun, indem ich die Methode, die ich geschrieben habe, aufrufe, um den Knoten zu den ResponseScripts zu erweitern. Diese Methode ist in einem RadCodeBlock wie folgt:

<telerik:RadCodeBlock ID="RadCodeBlock2" runat="server"> 
<script type="text/javascript"> 
    function expandNode(nodeid) { 
     var treeView = $find("<%= NavigationTreeView.ClientID %>"); 
     var node = treeView.findNodeByValue(nodeid); 
     if (node) { 
      node.expand(); 
      return true; 
     } 
     return false; 
    }  
</script> 
</telerik:RadCodeBlock> 

Mein Problem ist, dass ich nicht in der Lage bin, die RadTreeView den Zugang zu den Knoten zu erweitern. Ich würde mich über jede Anleitung freuen, wie man auf diese Baumansicht von Javascript mit $ find zugreifen kann.

Danke!

Lauren Kirschner

Antwort

1

Wenn Sie versuchen, und die Baumansicht von Javascript zu erweitern, den Code funktioniert gut haben.

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 

Funktion expandNode (nodeid) {

   var treeView = $find("<%= NavigationTreeView.ClientID %>");   
       var node = treeView.findNodeByValue(nodeid); 
       alert(node); 
       if (node) 
       {    
        node.expand();    
        return true;   
       } 



       return false; 



      } 

     </script> 
    </telerik:RadCodeBlock> 

    <telerik:RadSplitter ID="RadSplitter1" runat="server"> 
     <telerik:RadPane ID="RadPane" runat="server"> 
      <telerik:RadTreeView ID="NavigationTreeView" runat="server" > 
       <Nodes> 
        <telerik:RadTreeNode Text="Node 1" Value="0"> 
         <Nodes> 
          <telerik:RadTreeNode Text="Child1" Value="1"></telerik:RadTreeNode> 
         </Nodes> 
        </telerik:RadTreeNode> 
       </Nodes> 
      </telerik:RadTreeView> 
     </telerik:RadPane> 
    </telerik:RadSplitter> 

    <asp:Button ID="BtnExpand" runat="server" Text="Expand jscript" OnClientClick="expandNode(0);" /> 
    <asp:Button ID="BtnExpandServer" runat="server" Text="Expand Server" OnClick="BtnExpandServer_Click" /> 

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> 

    </asp:ContentPlaceHolder> 
</div> 
</form> 

Wenn Sie versuchen, Server-Seite zu erweitern, die folgenden Arbeiten am Beispiel anhand ich gepostet oben.

protected void BtnExpandServer_Click(object sender, EventArgs e) 
{   
    RadTreeNode node = NavigationTreeView.FindNodeByValue("0"); 
    node.Expanded = true; 
}