Filter DataTable in Primefaces only works once

UI Components for JSF
Post Reply
d.sandmark
Posts: 4
Joined: 21 Oct 2011, 15:44

21 Oct 2011, 15:53

Hi!

I'm trying to filter a dataTable using Primefaces much like http://www.primefaces.org/showcase/ui/d ... tering.jsf. (In a web browser) I type the text I want to filter by, it works once but when I remove the text I've written the result stays the same when it should go back to it's original state.

So it works once and then won't respond. (I can remove or re-type the filter text I've written but it does not affect the table anymore)

Sorry about the weird attribute names in the code, bear with me. :)

Using:
Primefaces 2.2.1
Java EE6
JSF 2.0.4
on GlassFish Server Open Source Edition 3.1 (build 43)

xhtml-page:

Code: Select all

<h:form>
    <p:dataTable var="aggr" value="#{aggregationManagedBean.logiskAdressatModel}"
             widgetVar="aggrTable"
             emptyMessage="No aggr found with given criteria">

        <f:facet name="header">
            <p:outputPanel>
                <h:outputText value="Filter:" />
                <p:inputText id="globalFilter" onkeyup="aggrTable.filter()" />
            </p:outputPanel>
        </f:facet>
        <p:column filterBy="#{aggr.name}"> 
            <f:facet name="header">
                <h:outputText value="Name" /> 
            </f:facet>
            <h:outputText value="#{aggr.name}" /> 
        </p:column>
    </p:dataTable>
</h:form>
backing bean:

Code: Select all

@ManagedBean
@SessionScoped
public class AggregationManagedBean {

    private List<LogiskAdressat> logiskaAdressater;
    private DataModel<LogiskAdressat> logiskAdressatModel;

    public AggregationManagedBean() {
        logiskaAdressater = getLogiskaAdressater();
        logiskAdressatModel = new ListDataModel<LogiskAdressat>(logiskaAdressater);
    }

    private static List<LogiskAdressat> getLogiskaAdressater(){
        List<LogiskAdressat> logiskaAdressater = new ArrayList<LogiskAdressat>();

        logiskaAdressater.add(new LogiskAdressat("01 addr_id 01", "Joe"));
        logiskaAdressater.add(new LogiskAdressat("02 addr_id 02", "John"));        
        logiskaAdressater.add(new LogiskAdressat("03 addr_id 03", "Jake"));

        return logiskaAdressater;
    }

    public DataModel<LogiskAdressat> getLogiskAdressatModel() {
        return logiskAdressatModel;
    }

    public void setLogiskAdressatModel(DataModel<LogiskAdressat> adressatModel) {
        this.setLogiskAdressatModel(adressatModel);
    }
}
Edit: Solution found.
My class LogiskAdressat should have implemented Serializable, that's why it didn't work.
NetBeans 7.0.1
Glassfish 3.1
Primefaces 3.0.M4

mmostafa
Posts: 3
Joined: 15 Mar 2013, 22:54

18 Apr 2013, 10:59

I have the same issue although I am using serializable object.

kukeltje
Expert Member
Posts: 9605
Joined: 17 Jun 2010, 13:34
Location: Netherlands

18 Apr 2013, 11:14

READ THE FORUM POSTINGRULES

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 46 guests