2012-11-16 137 views
0

除了在面板的计算渲染属性中使用类似于范围变量的显而易见的功能外,还有其他方式可以隐藏面板吗?Dynamiclly隐藏面板?

喜欢的东西getCompoent("panel1").hide(),我试过,但似乎没有工作,

回答

6

正确的方法是getComponent(“id”)。setRendered(false)。你可以通过getComponent(“id”)再次显示它。setRendered(true)。

0

您可以通过下面的代码实现这一点:

var c = getComponent("YOURPANELNAMEHERE") 
c.toggle() 

肘是你在找什么(而不是显示/隐藏)。

0

您是否尝试过扩展库中的Switch控件?不知道这是否会对你正在努力完成的事情有所帮助。

1

如果extlib可用,请检查xe:dynmaicPanel控件...非常高效,因为只有显示的面板被添加到组件树中...使用呈现的属性方法面板仍然被添加到组件树,即使呈现=假。

也可以使用简单操作,客户端或服务器端JavaScript编码动态内容显示。

通过CSJS

......

XSP.showContent("#{id:dynamicContent1}","keyToPanel1") 

...通过SSJS ...

var dc=getComponent("dynamicContent1"); 
    dc.show("keyToPanel1") 

或SS简单的动作......

<xe:changeDynamicContentAction 
     for="dynamicContent1" facetName="keyToPanel1"> 
    </xe:changeDynamicContentAction>