我有一个可编辑的数据表(editMode = "cell"
)。
编辑自由文本字段和列表框非常简单。但是,我无法弄清楚如何编辑复选框字段。更具体地说,当我尝试编辑复选框选择时,输出方面中的数据在进行更改后未实现。
<p:dataTable id="submodels" var="submodel" value="#{projectMB.submodels}"
editable="true" editMode="cell" widgetVar="cellSubmodels">
<p:column headerText="Mapping file">
<p:cellEditor>
<f:facet name="output">
<h:selectBooleanCheckbox value="#{submodel.mapping}" onclick="return false;"
style="width:96%" label="Root model" readonly="true"/>
</f:facet>
<f:facet name="input">
<h:selectBooleanCheckbox value="#{submodel.mapping}" style="width:96%"
label="Root model"/>
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
有点令人惊讶的是,当我将输入方面更改为 inputText (并在其中输入真/假值)时,复选框会正确更新:
<p:dataTable id="submodels" var="submodel" value="#{projectMB.submodels}"
editable="true" editMode="cell" widgetVar="cellSubmodels">
<p:column headerText="Mapping file">
<p:cellEditor>
<f:facet name="output">
<h:selectBooleanCheckbox value="#{submodel.mapping}" onclick="return false;"
style="width:96%" label="Root model" readonly="true"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{submodel.mapping}" style="width:96%" />
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
你能指出我做错了什么吗?我在 javascript 控制台和 Java 服务器端没有错误。
我正在使用 Primefaces 4.0 版