看一下这里的“高级”示例:http://www.primefaces.org/showcase/ui/input/oneMenu.xhtml,我可以在我的oneMenu中的每个选项中有两列,但过滤只发生在项目的标签上。
我希望能够按其中任何一列进行过滤(与示例不同,我的两列都只包含文本,因此它们是可过滤的)。这种定制是可能的吗?
向两个<p:column>中的任何一个添加filter="true"似乎没有任何效果,而用于编写自定义过滤规则的实用程序:filterFunction似乎也只在标签上操作!
<p:outputLabel for="advanced" value="Advanced:" />
<p:selectOneMenu id="advanced" value="#{selectOneMenuView.theme}" converter="themeConverter" panelStyle="width:180px"
effect="fade" var="t" style="width:160px" filter="true" filterMatchMode="startsWith">
<f:selectItems value="#{selectOneMenuView.themes}" var="theme" itemLabel="#{theme.displayName}" itemValue="#{theme}" />
<p:column style="width:10%">
<h:outputText styleClass="ui-theme ui-theme-#{t.name}" />
</p:column>
<p:column>
<h:outputText value="#{t.displayName}" />
</p:column>
</p:selectOneMenu>发布于 2017-03-28 02:24:07
如果你写了<f:selectItems value="#{estadoParque.vehiculos}" var="v" itemValue="#{v}" itemLabel="#{v.placa} - #{v.marca}"/>,你就能做到
添加列itemLabel="#{v.placa} - #{v.marca}"的相同元素
<p:column headerText="Placa">
<h:outputText value="#{t.placa}" />
</p:column>
<p:column headerText="Marca">
<h:outputText value="#{t.marca}" />
</p:column>你的过滤器就会像filterMatchMode="contains"一样
它成功了!!
https://stackoverflow.com/questions/30061714
复制相似问题