次の素数データが与えられた場合
<p:dataTable value="#{cc.attributes.playerCollection}" var="player"
widgetVar="playerWidgetTable" emptyMessage="#{uimsg.ui_not_recordsfound}">
<!-- filter event handler -->
<p:ajax event="filter" listener="#{cc.attributes.viewBean.listenFilter}" update="@this"/>
<!-- Player first name -->
<p:column id="firstnameColumn" headerText="#{uimsg.firstname}"
filterBy="#{player.firstName}" filterMatchMode="contains">
<h:outputText value="#{player.firstName}" />
</p:column>
</p:dataTable>
ユーザーがフィルター textcolumn で指定したフィルター「テキスト」値を (サーバー側で) 取得するにはどうすればよいですか?
「listenFilter」でフィルターイベントをリッスンしようとしました:
@ManagedBean
@ViewScoped
public class PlayerListBean implements Serializable {
......
public void listenFilter(FilterEvent event) {
// update datasource
Map<String, String> tempString = event.getFilters();
System.out.println("size filter: "+ tempString.size());
for (String key : tempString.keySet()) {
System.out.println("key: " + key + " \t values: "
+ tempString.get(key));
}
}
}
しかし、私はそれで何かを始めることはできません。他のオプションはありますか?バインドされたコンポーネントとして DataTable を操作するのと同じですか?
ありがとう