Hallo,
ich habe ein Problem mit Checkboxen unter JSF.
Mit folgendem Tag werden die Checkboxen generiert (was auch funktioniert)
Ich möchte aber gerne, daß eine bestimmte Checkbox angehakt ist. Dazu folgendes:
"allQuestionCategoriesList" ist eine Liste, in der SelectItems sind.
chosenCategories ist ebenfalls eine Liste, in die die ausgewählten Checkboxen gespeichert werden.
Um die Checkboxliste mit einer angehakten Checkbox angezeigt zu bekommen muss ich nach
meinem Verständnis die Liste "chosenCategories" vorbelegen, also die gewünschte Kategorie hineinspeichern..
Ich habe die Zeile 6 auch variiert, also der Liste "chosenCategories" nicht nur einen String hinzugefügt, sondern auch die Id der Kategorie als Integer oder im SelectItem.
Leider wird die Checkboxliste immer ohne angehakte Box angezeigt.
Vielen Dank für eure Hilfe
Nicnac
ich habe ein Problem mit Checkboxen unter JSF.
Mit folgendem Tag werden die Checkboxen generiert (was auch funktioniert)
Code:
<h:selectManyCheckbox value="#{bean.chosenCategories}">
<f:selectItems value="#{bean.allQuestionCategoriesList}"/>
</h:selectManyCheckbox>
Ich möchte aber gerne, daß eine bestimmte Checkbox angehakt ist. Dazu folgendes:
"allQuestionCategoriesList" ist eine Liste, in der SelectItems sind.
chosenCategories ist ebenfalls eine Liste, in die die ausgewählten Checkboxen gespeichert werden.
Um die Checkboxliste mit einer angehakten Checkbox angezeigt zu bekommen muss ich nach
meinem Verständnis die Liste "chosenCategories" vorbelegen, also die gewünschte Kategorie hineinspeichern..
Code:
...
1 public List getAllQuestionCategoriesList() {
2 allQuestionCategories = new ArrayList();
3 //alle Kategorien aus der Datenbank holen und Iterator anhängen
4 Iterator catIter = getQuestionCategories().iterator();
5 //der Liste die Kategorie, die angehakt sein soll, als String hinzufügen
6 chosenCategories.add(getXYQuestionCategory().getId().toString());
7
8 while (catIter.hasNext()) {
9 QuestionCategory questionCategory = (QuestionCategory) catIter.next();
10 allQuestionCategories.add(new SelectItem(questionCategory.getId().toString(), questionCategory.getTitle(), null));
11 }
12 return allQuestionCategories;
Ich habe die Zeile 6 auch variiert, also der Liste "chosenCategories" nicht nur einen String hinzugefügt, sondern auch die Id der Kategorie als Integer oder im SelectItem.
Leider wird die Checkboxliste immer ohne angehakte Box angezeigt.
Vielen Dank für eure Hilfe
Nicnac