2009-08-07 2 views
0

J'ai un RadTreeView sur une MasterPage dans 2 RadSplitters imbriqués. J'utilise LoadOnDemand, mais j'ai besoin de pouvoir développer des nœuds à partir du code serveur. J'essaye de faire ceci en appelant la méthode que j'ai écrite pour développer le noeud aux ResponseScripts. Cette méthode est en RadCodeBlock comme suit:

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

Mon problème est que je ne suis pas en mesure d'accéder au RadTreeView d'élargir les nœuds. J'apprécierais des conseils sur la façon d'accéder à cette arborescence à partir de javascript en utilisant $ find.

Merci!

Lauren Kirschner

Répondre

1

Si vous essayez de développer l'arborescence de javascript, le code que vous avez fonctionne très bien.

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

{

expandNode fonction (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> 

Si vous essayez d'étendre côté serveur, les travaux suivants en fonction de l'exemple que j'affiché ci-dessus.

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