Ich habe eine bearbeitbare Datentabelle, die Spalte mit Boolean-Typ enthält. Beim Bearbeiten dieser Spalte wird mit dem selectOneMenu der Wert "true", "false" oder "null" ausgewählt. Wenn ich den Bearbeitungsmodus betrete, ist die Standardauswahl wahr, wenn der Wert null ist.selectOneMenu default selection null
Wie könnte dieses Problem gelöst werden? Eine andere Frage, es ist ein guter Ansatz, um Enity Bean (das Ergebnis einer Datenbankabfrage) zu verwenden, oder ich muss eine Managed Bean erstellen?
Xhtml:
<p:column headerText="Active">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{member.active}" />
</f:facet>
<f:facet name="input">
<h:selectOneMenu value="#{member.active}" style="width:100%">
<f:selectItems value="#{memberManagementController.activeLabels}" />
</h:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
Entity Bean:
@Entity
@NamedQueries({
@NamedQuery(...
})
@Table(name="Member")
public class Member implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private Boolean active;
public Boolean getActive() {
return this.active;
}
public void setActive(Boolean active) {
this.active = active;
}
...
Dies ist nicht korrekt. Erklärung zu 'noSelectionOption' finden Sie hier: http://stackoverflow.com/q/11360030 – BalusC
OK danke für die Erklärung – tfosra