2015-09-16 10 views
5

Ich möchte die Liste <f:selectItems> nur laden, wenn der Benutzer <p:selectOneMenu> öffnet.Lazy loading f: selectItems beim Öffnen p: selectOneMenu

habe ich versucht, auf diese Weise aber nicht funktioniert:

<p:selectOneMenu id="bases" value="#{sucesoBB.suceso.base}" converter="EntitiesCachedConverter" > 
    <f:selectItem itemLabel="" itemValue="" /> 
    <f:selectItems value="#{sucesoBB.bases}" var="base" itemValue="#{base}" itemLabel="#{base.id} - #{base.descripcion}" /> 
    <p:ajax event="click" onstart="#{sucesoBB.bases == null or sucesoBB.bases.size() ==1 or sucesoBB.bases.empty()?'cargaBases();':''}" /> 
</p:selectOneMenu> 
<p:remoteCommand name="cargaBases" update="bases" actionListener="#{sucesoBB.cargaBases}" /> 

Wie kann ich das erreichen?

+0

Kannst du definieren "funktioniert nicht" - irgendwelche Fehler, unerwartetes Verhalten? – dognose

+0

warum nicht einfach die p: autocomplete mit einer Dropdown-Funktion verwenden (http://www.primefaces.org/showcase/ui/input/autoComplete.xhtml)? Ich denke, es würde das faule Ladebedürfnis erreichen. – Fritz

+0

Ich dachte, p: Autocomplete zu verwenden, wenn ich nicht faul machen kann p: selectOneMenu –

Antwort