パネルの計算されたレンダリングされたプロパティでスコープ変数のようなものを使用するという明白な以外に、パネルを非表示にする他の方法はありますか?
getCompoent("panel1").hide()
私が試したがうまくいかなかったようなもの、
パネルの計算されたレンダリングされたプロパティでスコープ変数のようなものを使用するという明白な以外に、パネルを非表示にする他の方法はありますか?
getCompoent("panel1").hide()
私が試したがうまくいかなかったようなもの、
正しいメソッドは getComponent("id").setRendered(false) です。getComponent("id").setRendered(true) を介して再度表示できます。
extlibが利用可能な場合は、xe:dynmaicPanelコントロールを確認してください...表示されたパネルのみがコンポーネントツリーに追加されるため、非常に効率的です...レンダリングされたプロパティアプローチを使用すると、rendered = falseの場合でも、パネルはコンポーネントツリーに追加されます。
シンプルアクション、クライアント側、またはサーバー側のJavaScriptを使用して動的コンテンツ表示をコーディングすることもできます。
...CSJS経由..。
XSP.showContent("#{id:dynamicContent1}","keyToPanel1")
...SSJS経由..。
var dc=getComponent("dynamicContent1");
dc.show("keyToPanel1")
またはSSシンプルアクション..。
<xe:changeDynamicContentAction
for="dynamicContent1" facetName="keyToPanel1">
</xe:changeDynamicContentAction>
Extension Library の Switch コントロールを試しましたか? それがあなたが達成しようとしていることに役立つかどうかはわかりません。
これは、次のコードを使用して実現できます。
var c = getComponent("YOURPANELNAMEHERE")
c.toggle()
トグルはあなたが探しているものです(表示/非表示ではなく)。