Here is little sneakpeak of how you create lazyloading datatable for entity Customer with searchfields (and search working right out of box):
Code: Select all
<hf:searchPanel columns="4" backingBean="#{customerBean}">
<hf:searchField label="#{messages['customer.name']}" field="name" />
<hf:searchField label="#{messages['customer.city']}" field="city" />
<hf:searchField label="#{messages['customer.address']}" field="address" />
<hf:searchField label="#{messages['customer.email']}" field="email" />
<hf:searchField label="#{messages['customer.phone']}" field="phone" />
<!-- Search with drop down -->
<hf:searchEntityField label="#{messages['customer.city']}" field="city" childField="name" listBean="#{cityBean}" />
<hf:searchField label="#{messages['customer.age']}" field="age" />
</hf:searchPanel>
<hf:dataList label="#{messages['customers.search.results']}" backingBean="#{customerBean}">
<hf:column label="#{messages['customer.name']}" field="name" />
<hf:column label="#{messages['customer.city']}" field="city" childField="name" />
<hf:column label="#{messages['customer.address']}" field="address" />
<hf:column label="#{messages['customer.email']}" field="email" />
<hf:column label="#{messages['customer.phone']}" field="phone" />
<hf:column label="#{messages['customer.age']}" field="age" />
<hf:actionsColumn />
</hf:dataList>