我想动态更新自动完成组件的结果。
我的网站应该是一个过滤器。我从数据库中获得了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的结果,但是它从未调用该方法来更新结果。
有什么建议吗? 最好,马库斯