フォームを作成しようとしていますが、フォームの一部にチェックボックスがあります。Javaリストから値を取得し、それらをデータテーブルに直接設定しています。私のデータテーブルは次のようになります:
- テレビ
- インターネット
- 雑誌
- 全て
これまでのところ、それは完全に機能しています。このボックスにいくつかのルールを追加したいのですが、ユーザーが「すべて」のボックスにチェックマークを付けると、他のボックスもチェックされますが、ユーザーが「すべて」のボックス以外のチェックボックスのいずれかを削除すると、「すべて」のチェックマークが削除されます. これを2日間探していましたが、解決策が見つかりませんでした。これを解決するために管理したアプローチを説明していただければ幸いです。Jsf 2.1.19 と PrimeFaces 3.5 を使用しています
私のxhtml:
<div class="control-group">
<label class="control-label"><h:outputText value="Şu Kategorilerde Arama Yap"></h:outputText></label>
<div class="controls">
<h:panelGroup id="categorySelectionPanel">
<h:dataTable id="tblCategories" value="#{projectBean.categoryList}" var="category">
<h:column>
<h:outputText value="#{category.name}" style="margin-right:10px;" />
</h:column>
<h:column>
<p:selectBooleanCheckbox value="#{category.checked}" />
</h:column>
</h:dataTable>
</h:panelGroup>
</div>
私のJavaクラス:
public class CategoryData {
private String name;
private boolean checked;
public CategoryData() {
}
public CategoryData(String name, boolean checked) {
this.name = name;
this.checked = checked;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
}