在Primefaces中动态更新自动完成列表

时间:2019-04-18 12:28:09

标签: java primefaces

我想动态更新自动完成组件的结果。

我的网站应该是一个过滤器。我从数据库中获得了autoComplete中completeMethod的结果。如果更改过滤器中的某些属性,则自动完成completeMethod的结果也应更改。

这是我的.xhtml代码:

 <div class="ui-g-5">
        <p:datePicker id="sabDate"  value="#{mainBackingBean.sabDate}" showIcon="true" monthNavigator="true" yearNavigator="true" yearRange="1990:2030" 
                    pattern="dd.MM.yyyy" placeholder="Datum auswaehlen" showButtonBar="true" >
            <p:ajax event="dateSelect" update="acCBV" listener="#{mainBackingBean.sabDateChange}" />
        </p:datePicker>
    </div>
</div>
<div class="ui-g">
    <div class="ui-g-4">
        <p:outputLabel for="acCBV" styleClass="filterLabel" value="CBV:" />
    </div>
    <div class="ui-g-5">
        <p:autoComplete id="acCBV" styleClass="autoComplete" value="#{mainBackingBean.cbv}" completeMethod="#{mainBackingBean.completeCbv}" immediate="true" scrollHeight="200" dropdown="true" />
    </div>
</div>

BeanClass的代码:

@ManagedBean(name = "mainBackingBean")
public class MainBackingBean {
    ...
    public List<String> completeCbv(String statement){

        filter.setCbv(statement);
        return filter.getCbvList();
    }
    ...
}

现在,自动完成功能从一开始就获得了completeMethod的结果,但是它从未调用该方法来更新结果。

有什么建议吗? 最好,马库斯

0 个答案:

没有答案