Jsf p:选择多个复选框预加载
对于一个项目,我有一个默认子项目列表,例如设计、实施、测试,或者我也可以定义自己的子项目。我将子项目存储在数据库中,编辑此项目时,我希望将所有默认子项目加载到数据库中,但之前存在的子项目已选中 以下是我的.xhtml:Jsf p:选择多个复选框预加载,jsf,primefaces,Jsf,Primefaces,对于一个项目,我有一个默认子项目列表,例如设计、实施、测试,或者我也可以定义自己的子项目。我将子项目存储在数据库中,编辑此项目时,我希望将所有默认子项目加载到数据库中,但之前存在的子项目已选中 以下是我的.xhtml: <p:selectManyCheckbox value="#{add_project.selectedItems}" id="selectedSubprojects" layout="p
<p:selectManyCheckbox value="#{add_project.selectedItems}"
id="selectedSubprojects"
layout="pageDirection"
converter="sub_conv_add_subproject">
<f:selectItems value="#{add_project.availableItems}"
var="wws"
itemValue="#{wws}"
itemLabel="#{wws.subprojectName}"/>
</p:selectManyCheckbox>
<p:selectBooleanCheckbox id="checkBoxOtherUpdate" itemLabel="Other" value="#{add_project.checked}">
<p:ajax event="change" update="hiddingPanel"/>
</p:selectBooleanCheckbox>
<p:panel id="hiddingPanel">
<h:panelGrid columns="2" rendered="#{add_project.checked}">
<p:inputText value="#{add_project.personalizedSubproject}"
id="personalizedSubprojectName"
styleClass="inputFieldWithoutMargin"/>
<h:commandButton value="Submit" action="#{add_project.submit}" styleClass="button">
<f:ajax execute="subprojectPanelGrid" render="subprojectPanelGrid msgs2" />
</h:commandButton>
</h:panelGrid>
</p:panel>
是所选子项目的列表,availableItems是包含所有默认子项目的列表
你能给我一些建议吗?我刚刚浏览了selectManyCheckbox代码,它应该是所有可用项的复选框,子项目应该是选中项。你有这个输出吗?是否需要其他内容?是的,selectedItems应为选中项,但我想要的是,当我显示selectManyCheckbox时,根据我在数据库中的内容,复选框中的某些项已被选中。如果可用项来自您的数据库,则您应该有正确的结果。渲染selectManyCheckbox时,您现在看到了什么?您将DB数据放在哪个属性中?以下是我想要的示例:我在selectMultipleCheckbox中有以下项目:A、B、C。我单击B和C,然后将它们添加到数据库中。现在,我想编辑我的选择,以便显示A、Bselected、Cselected。您应该将从DB获取的所选元素放入availableItems,并进行selectManyCheckbox更新。