【问题标题】:PrimeFaces p:column filter facet not displayedPrimeFaces p:未显示列过滤器构面
【发布时间】:2014-09-09 12:38:45
【问题描述】:

我有这个 PrimeFaces (4.0) 表:

<p:dataTable id="datalist" widgetVar="datalist"
             value="#{hoursController.lazy}"
             lazy="true"
             filteredValue="#{hoursController.filteredItems}"
             var="item"
             selectionMode="single" selection="#{hoursController.selected}"
             rowKey="#{item.id}"
             paginator="true" paginatorPosition="bottom"
             rows="10"
             sortBy="workDate" sortOrder="descending">

此列包含filter 方面(尝试复制PrimeFaces DataTable filter showcase 中的品牌过滤器):

<p:column headerText="#{msg.table_header_hours_emplId}"
          sortBy="#{item.emplId}"
          filterBy="#{item.emplId}" filterMatchMode="exact">
  <f:facet name="filter">
    <p:selectOneMenu onchange="PF('datalist').filter()">
      <f:selectItem itemLabel="" itemValue="#{null}" noSelectionOption="true" />
      <f:selectItems value="#{employeesController.items}" />
    </p:selectOneMenu>
  </f:facet>
  <h:outputText value="#{item.emplId}" />
</p:column>

p:selectOneMenu 没有显示,而是我得到了一个纯文本输入过滤器。

我从表中删除了各种属性(例如延迟加载),看看它们是否导致过滤器不被渲染,但结果都是一样的。

我也确定p:selectOneMenu 是正确的;当我将它放在表格之外时,它的选择菜单会显示正确的内容。

我还检查了有关 filter 方面的额外信息的规范,但可以找到任何其他信息。

谁能告诉我我做错了什么?

【问题讨论】:

    标签: primefaces primefaces-datatable


    【解决方案1】:

    显然the filter facet was added in PrimeFaces 5(所以它在 4 中不起作用)。文档和展示中没有提到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 2013-12-27
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      相关资源
      最近更新 更多