У меня есть редактируемая таблица данных (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 (и ввожу в него значение true/false), флажок обновляется правильно:
<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.