1

アプリケーションでサイズ変更可能なプライムフェイスを使用しています。私は、containment=true を設定すると、containment がコンポーネントの親になることを知っています。しかし、私のコンポーネントが以下の祖父母に含まれるようにしたいのはコードです:

  <p:dataTable id="tab" value="#{listOfDays}">
   <p:column>
    <h:outputText value="#{day}"/> //from MON to SUN
   </p:column>
   <p:column>
  <p:outputPanel id="pnl">
  <ui:repeat id="loop" value="somelist">
  <p:commandLink id="link"/>
  <p:resizable for="link" listener="#{calllistener}" containment="true"/>
  </ui:repeat>
  </p:outputPanel>
   </p:column>
   </p:dataTable>

サイズ変更時に commandlink を outputPanel に制限したい。封じ込めをtrueに設定すると、コマンドリンクの最も近い親であるため、ui:repeatに制限されます。それで、コマンドリンクのサイズが変更されたときに、コマンドリンクを祖父母、つまりこの場合はoutputPanelに制限する方法はありますか??

編集 私はこのようにバッキングビーンにコンポーネントの親を設定することができます

     public void handleResize(ResizeEvent event){
         if(first time) {
         resizable =(Resizable)(event.getComponenet());
          resizable.setParent(event.getParent().getParent());
          }
         sysout(resizable.getClientId()); 
     }

サイズ変更時に親のクライアント ID を出力できますが、祖父母に含まれていません。どんな助けでも大歓迎です。

lemmeを編集 して、私が達成しようとしていることを明確にしてください。タイム スケジューラを作成しようとしています (プライム フェースのスケジューラ コンポーネントではありません)。

コードでは、outputpanel には 00:00 から 23:59 までの時間を表す画像があります。outputpanel は任意の数の commandLinks を持つことができるため、ui:repeat です。commandlink は、たとえば 12:00 から 20:00 までの時間間隔を表し、時間間隔を変更してサイズを変更することもできます。timeinterval(commandlink) が outputPanel から出たくない。

前もって感謝します :)

4

1 に答える 1

1

コンポーネントのclientIdを取得できます#{component.clientId}

詳細については、こちらを参照してください: jquery で JSF コンポーネント ID を参照するにはどうすればよいですか?

JSF 2.0 で他のコンポーネントのクライアント ID を取得する

http://java.dzone.com/articles/jsf-20-clientid-jquery

于 2012-08-30T11:35:49.257 に答える