2
私はthis exampleのようにプライムフェイスを使ってdataTableをフィルタリングしようとしています。 (Webブラウザで)フィルターをかけたいテキストを入力します。一度は動作しますが、元の状態に戻っても結果は同じになります。プライムフェイスのFilter DataTableは一度しか動作しません
これは一度動作してから応答しません。 (私は書いたフィルターテキストを削除または再入力できますが、それはもはやテーブルには影響しません)
コード内の奇妙な属性名は残念です。 :)
XHTMLページ:
Beanをバックアップ<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>
:
@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);
}
}
感謝を。コンピュータを仕事場に残しておいたので、私は午前中に戻らなければならない、愚かな私。 –
うわー、私はそれが問題だとは思わなかった。それは働いて、ありがとう! –
@Dennis S:ようこそ。 –