【问题标题】:Exclude inner component from a table, updating it on primefaces从表中排除内部组件,在 primefaces 上更新它
【发布时间】:2016-02-08 22:48:14
【问题描述】:

我使用 PrimeFaces 3.5,我有一个带有 p:datatable 的页面和一个包含一个包含 inputText 和一个命令按钮的 panelGrid 的 rowexpansion。我还有一个外部添加按钮。 页面是这样的:

<p:dataTable id="myTable" value="#{backbean.values}" >
<p:column>
  Some value.....
</p:column>
<p:column>
  Some value.....
</p:column>
<p:rowExpansion>
<p:panel>
      <p:panelGrid id="grid" styleClass="grid">
              MyInput Text.......
              <p:commandButton value="confirm" actionListener="# {backbean.listener}" update="grid"
      </p:panelGrid>
</p:panel>
</p:rowExpansion>
<p:commanButton value="add" actionListener="#{backbean.add}" update="????" />

单击“添加”按钮后,我需要更新表格(所以我会看到新元素),但由于某些原因,我不希望更新嵌套的 panelGrid“网格”。我花了一天时间寻找一个使用 primefaces/jquery 选择器(特别是 ':not' 选择器)的解决方案,并且我尝试了很多组合: @(table :not(.grid)) @(#myTable :not(#grid)) 但没办法。 我想知道是否有可能从整个表的更新中排除一个组件。

【问题讨论】:

  • 这应该是@(#myTable :not(.grid))
  • 这有用吗? stackoverflow.com/q/20080861 了解它们的工作原理将有助于创建新的选择器。
  • 感谢 Tiny,但我刚刚尝试过,但不起作用。
  • 非常感谢BalusC,你的回答和其他人一样很有趣。我会试试......

标签: jquery jsf jsf-2 primefaces


【解决方案1】:

@(form :not(.grid)

这是 100% 的工作。我在我的应用程序上使用。 它将更新表单并排除网格。

在您的代码中添加 h:form

【讨论】:

    猜你喜欢
    • 2015-02-02
    • 2013-03-25
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多