Primefaces可调整大小的遏制

时间:2012-08-30 08:32:36

标签: java jsf java-ee jsf-2 primefaces

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

  <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的closet parent。所以,有什么方法可以限制命令链接到祖父母,即在这种情况下,当commandlink被调整大小时,outputPanel ??

修改 我可以像这样

在支持bean中设置父组件
     public void handleResize(ResizeEvent event){
         if(first time) {
         resizable =(Resizable)(event.getComponenet());
          resizable.setParent(event.getParent().getParent());
          }
         sysout(resizable.getClientId()); 
     }

我可以在resize上打印父级的客户端ID,但它不包含在祖父母中。 任何帮助是极大的赞赏。

修改 让我明白我想要实现的目标。我正在尝试创建一个时间调度程序(不是主要面中的调度程序组件)

在代码中,outputpanel有一个图像,表示从00:00到23:59的时间 outputpanel可以有任意数量的commandLink,因此ui:repeat。 commandlink表示时间间隔,例如从12:00到20:00,我们也可以改变时间间隔,从而可以调整大小。我不希望timeinterval(commandlink)退出outputPanel。

提前感谢:)

1 个答案:

答案 0 :(得分:1)

您可以使用#{component.clientId}

获取组件客户端ID

有关详细信息,请参阅此处:How to refer to a JSF component Id in jquery?

Retrieving other component's client ID in JSF 2.0

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