2013-04-10 47 views
2

我有一个RadFileExplorer,我的问题是我无法找到一种方式来关闭JavaScript后弹出页面关闭节点。我的代码不起作用。使用Javascript折叠RadFileExplorer

function collapseNodes() { 
     $find("<%= RadAjaxPanel1.ClientID%>").ajaxRequestWithTarget("<%= RadAjaxPanel1.UniqueID %>", "Refresh"); 
     var explorer = $find("<%=RadFileExplorer1.ClientID%>"); 
     var tree = explorer.get_tree(); 
     var nodes = tree.get_allNodes(); --> this part is not working 
     nodes.forEach(function(node) { --> this part is not working 
      if (node.get_expanded())  --> this part is not working 
       node.set_expanded(false);--> this part is not working 
     }); 
    } 

<telerik:RadFileExplorer runat="server" ID="RadFileExplorer1" Width="100%" EnableOpenFile="false" 
    EnableCreateNewFolder="true" OnItemCommand="RadFileExplorer1_ItemCommand" OnExplorerPopulated="RadFileExplorer1_ExplorerPopulated" 

    DisplayUpFolderItem="false" > 
    <keyboardshortcuts delete="delete" uploadfile="Ctrl+u" newfolder="Ctrl+n" /> 
</telerik:RadFileExplorer> 

回答

0

你需要get_nodes()首先从树视图对象:http://www.telerik.com/help/aspnet-ajax/treeview-client-objects-radtreeview.html

然后,get_count()将返回计数,所以你可以做一个for循环,有集中的节点集合没有的forEach方法:http://www.telerik.com/help/aspnet-ajax/treeview-client-objects-radtreenodecollection.html

只有这样您才能使用get_expanded()和set_expanded()的给定节点的客户端API:http://www.telerik.com/help/aspnet-ajax/treeview-client-objects-radtreenode.html。查看第一篇文章中get_nodes()方法下面的示例。