I have a column with the filter p: selectOneMenu. I use it to filter a column that has rows that can have one or more attributes. So I use the p: dataList component of Primefaces to show this list. But the filter only takes the first item of the dataList, if it filters through the others that are in the row of that column it does not filter.
<p:column filterBy="#{projeto.listaLinhaPesquisas[0].nome}" headerText="Linha de Pesquisa">
<f:facet name="filter">
<p:selectOneMenu onchange="PF('projetoTable').filter()" >
<f:selectItem itemLabel="Selecione..." itemValue="#{null}" noSelectionOption="true"/>
<f:selectItems value="#{gestaoProjetosBean.listaLinhaPesquisas}"
var="linhaPesquisa" itemLabel="#{linhaPesquisa.nome}"
itemValue="#{linhaPesquisa.nome}" />
</p:selectOneMenu>
</f:facet>
<p:dataList value="#{projeto.listaLinhaPesquisas}" var="linhaPesquisa">
<h:outputText value="#{linhaPesquisa.nome}"/>
</p:dataList>
</p:column>