【问题标题】:Primefaces resizable containmentPrimefaces 可调整大小的容器
【发布时间】:2012-08-24 22:42:06
【问题描述】:

我在我的应用程序中使用可调整大小的 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 的壁橱父级。那么,在这种情况下,当命令链接被调整大小时,有什么方法可以将命令链接限制为祖父母,即 outputPanel??

编辑 我可以像这样在支持 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,我们还可以更改时间间隔,从而调整大小。我不希望 timeinterval(commandlink) 超出 outputPanel。

提前感谢:)

【问题讨论】:

  • 有人请吗??有没有办法做到这一点?..

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


【解决方案1】:

【讨论】:

  • 感谢您的回复,我没有使用可调整大小的 jquery。我正在使用可调整大小的primefaces。我知道在 jquery 中我们可以将 resizable 设置为像 $(selc).resizable( {containment:$(selector).parent().parent()});但我需要使用 primefaces 可调整大小的标签来做同样的事情。
  • 我知道,#{component.clientId} 是 JSF 生成的 ID。您希望有权通过 JSF 生成 ID,对吧?
  • 不完全是。我对身份证没有任何问题。我希望命令链接在调整大小以限制为输出面板时。通常我们在 resizable 中给出 contains = true ,这将 commandLink 限制为其最近的父级,即在本例中为 ui:repeat。
  • 欢迎您,很高兴看到他们帮助了您。我理解你的问题。我不是 jQuery 专家,但我认为如果你完全使用 jQuery 做客户端,它会更容易处理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
相关资源
最近更新 更多