解答XtraNavBar控件折叠Group的问题

XtraNavBar控件是用于简化应用程序并为最终用户提供导航功能的程序设计。由于XtraNavBar控件具有高度的灵活性和可视化操作,你只需进行简单的属性设置,就能够选择你所需的样式而无需编写任何代码就能实现该功能。然而,最近老有朋友询问ASPxNavBar控件如何保证一开始折叠所有Group,同时保证点击时展开当前Group,其它Group自动折叠。开始以为只设置AutoCollapse属性就可以,实际上这个属性设为True后,无论如何设置或者写代码,一开始都无法折叠所有Group,所以不能设置这个属性。此路不通彼路通,既然不能通过设置属性来实现,那就写写代码吧! 
以下是实现的代码:

s脚本部分:

view plaincopy to clipboardprint?
<script type="text/javascript"><!--  
function ASPxNavBar_Init(s, e) {  
s.CollapseAll();  
}  

function ASPxNavBar_ExpandedChanged(s, e) {  
if (e.group.GetExpanded() == true) {  
for (var i = 0; i < s.GetGroupCount(); i++) {  
if (i == e.group.index) continue;  
s.GetGroup(i).SetExpanded(false);  
}  
}  
}  
// --></script> 
<script type="text/javascript"><!--
function ASPxNavBar_Init(s, e) {
s.CollapseAll();
}

    function ASPxNavBar_ExpandedChanged(s, e) {
if (e.group.GetExpanded() == true) {
for (var i = 0; i < s.GetGroupCount(); i++) {
if (i == e.group.index) continue;
s.GetGroup(i).SetExpanded(false);
}
}
}
// --></script>

 

控件标记部分:

复制代码
代码
view plaincopy to clipboardprint?
<dxnb:ASPxNavBar ID="ASPxNavBar" runat="server"> 
<ClientSideEvents Init="function(s, e) {  
ASPxNavBar_Init(s, e)   
xpandedChanged
="function(s, e) {  
ASPxNavBar_ExpandedChanged(s, e);   
> 

</dxnb:ASPxNavBar> 
<dxnb:ASPxNavBar ID="ASPxNavBar" runat="server">
<ClientSideEvents Init="function(s, e) {
ASPxNavBar_Init(s, e)
}
" ExpandedChanged="function(s, e) {
ASPxNavBar_ExpandedChanged(s, e);
}
" />

</dxnb:ASPxNavBar>
复制代码

慧都控件网原创 转载请注明:本文来自 慧都控件网


 
 
 
posted @ 2013-04-09 13:00  C#老头子  Views(876)  Comments(0Edit  收藏  举报