0

パネルの計算されたレンダリングされたプロパティでスコープ変数のようなものを使用するという明白な以外に、パネルを非表示にする他の方法はありますか?

getCompoent("panel1").hide() 私が試したがうまくいかなかったようなもの、

4

4 に答える 4

6

正しいメソッドは getComponent("id").setRendered(false) です。getComponent("id").setRendered(true) を介して再度表示できます。

于 2012-11-16T22:35:38.270 に答える
1

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>
于 2012-11-17T13:26:21.937 に答える
0

Extension Library の Switch コントロールを試しましたか? それがあなたが達成しようとしていることに役立つかどうかはわかりません。

于 2012-11-16T23:41:51.153 に答える
0

これは、次のコードを使用して実現できます。

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

トグルはあなたが探しているものです(表示/非表示ではなく)。

于 2012-11-16T22:15:43.247 に答える