解答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>
控件标记部分:
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
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>
<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>
慧都控件网原创 转载请注明:本文来自 慧都控件网
标签: XtraNavBar控件, 折叠Group