アプリケーションでサイズ変更可能なプライムフェイスを使用しています。私は、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 から出たくない。
前もって感謝します :)