1

我在我的应用程序中使用可调整大小的 primefaces。我知道如果我们设置containment=true,container 将是组件的父级。但我希望我的组件包含在下面的祖父母中是代码:

  <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,因为它是 commandlink 的壁橱父级。那么,有什么方法可以将命令链接限制为祖父母,即在这种情况下,当调整命令链接的大小时,输出面板?

编辑 我可以像这样在支持 bean 中设置组件父级

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

我可以在调整大小时打印父母的客户 ID,但它不包含在祖父母中。任何帮助是极大的赞赏。

编辑 让我清楚我想要实现的目标。我正在尝试创建一个时间调度程序(不是主要面孔中的调度程序组件)

在代码中,输出面板有一个图像,表示从 00:00 到 23:59 的时间,输出面板可以有任意数量的命令链接,因此 ui:repeat。commandlink 表示时间间隔,例如从 12:00 到 20:00,我们还可以更改时间间隔,从而调整大小。我不希望时间间隔(命令链接)超出输出面板。

提前致谢 :)

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 回答