DataTableマルチ選択の実装
DataTableの複数選択は、各行の前にHtmlSelectBooleanCheckboxを追加することによって、ユーザーの選択イベントを受信します.ユーザが選択するたびに、非同期呼び出しが開始され、バックグラウンドのajaxSelect関数にコミットされます.関数は、AjaxBehaviorEventイベントによって現在のselect状態を取得します.selectがtrueの場合、HtmlSelectBooleanCheckboxの行が表すデータをリストに追加します.このselectがfalseである場合、このローが表すデータを取得し、削除します.
UIの書き方とバックグラウンド関数の書き方を説明します.
完全なコードはJSF DataTableページの例を参照してください.
UIの書き方とバックグラウンド関数の書き方を説明します.
:
public void ajaxSelect(AjaxBehaviorEvent event){
HtmlSelectBooleanCheckbox b = (HtmlSelectBooleanCheckbox)event.getComponent();
//
System.out.println(b.isSelected());
int index=htmlDataTable.getRowIndex();
User selectedUser=(User)htmlDataTable.getRowData();
//
System.out.println("you choose ajax"+index+" record ,and User is"+selectedUser.getName()+":::"+selectedUser.getUser());
selected.add(selectedUser);
}
:
<h:selectBooleanCheckbox >
<f:ajax listener="#{testPaginate.ajaxSelect}" execute="@this"></f:ajax>
</h:selectBooleanCheckbox>
完全なコードはJSF DataTableページの例を参照してください.