У меня есть два уровня вложенности DataTables в видеВложенные primefaces DataTable не подчиняющееся значение должным образом для внутреннего DataTable
<p:dataTable id="necesidades"
value="#{registrarAccionDosBean.accionDos.necesidadesConTema}"
rendered="#{not empty registrarAccionDosBean.accionDos.necesidadesConTema}"
var="necesidad"
rowKey="#{necesidad.idNecesidad}">
<p:column style="width:16px">
<p:rowToggler />
</p:column>
<p:rowExpansion>
<h:panelGroup id="grupoTema">
<h:panelGroup id="edicion" rendered="#{necesidad.tema.idTema ne null}">
<p:row>
<p:column >
<h:outputLabel value="#{etiq.lbl_comunes_requerido} #{etiq.etiqueta_checkbox_transparenciasFocalizadas}" styleClass="textoAcciones"/>
</p:column>
<p:column >
<!-- Nested data table -->
<p:dataTable id="transparenciasInplace"
var="transparencias"
value="#{registrarAccionDosBean.transparenciasFocalizadas}"
selection="#{necesidad.tema.transparenciasFocalizadas}"
rowKey="#{transparencias.idTf}">
<f:facet name="header">
Objetives
</f:facet>
<p:column selectionMode="multiple" style="width:16px;text-align:center"/>
<p:column>
<h:outputLabel value="#{transparencias.descripcion}" styleClass="textoAccionesSmall"/>
</p:column>
</p:dataTable>
</p:column>
</p:row>
</h:panelGroup>
</h:panelGroup>
</p:rowExpansion>
</p:dataTable>
Я могу получить информацию и представлен на экране правильно, но когда я отправить отправить через командную кнопку вся информация отправляется, но значения самого внутреннего datatable (тот, который является идентификатором «transparentenciasInplace») не отправляются правильным способом, в бэкэнд-бэке я получаю следующую информацию, которая является неправильной
Способ получения значений в компоненте
- Subject1 --- ObjetivesE, ObjetiveF
- Subject2 --- нулевой
- Subject3 --- нулевой
То, как я ожидал, и я вижу на экране
- Предмет 1 --- ОбъектыА (1 объект предмета и 1 объект Цель)
- Subject2 --- ObjectiveB, ObjectiveC, ObjectiveD (1 объект предмет и 3) объекты Объективные
- Subject3 --- ObjetivesE, ObjetiveF (1 объект предмет и 2 объекта) Объективные
Код моей команды кнопка
<p:commandButton process="@form" icon="ui-icon ui-icon-disk" id="btnsave"
value="Save" actionListener="#registrarAccionDosBean.guardar}"
widgetVar="btnguardar"
onclick="setTimeout('btnguardar.disable()', 10);" title="#{etiq.btn_guardar}" update="content"/>
Я не знаю, почему в subject1 я получаю значение Subject3 и значение Subject2 и Subject3 устанавливает нулевое значение
Пробовал последнюю версию pf? Пробовал функциональность «saveState»? – Kukeltje
На самом деле, у меня есть последняя версия простых шрифтов, и я собираюсь проверить SaveState, который вы предлагаете, чтобы проверить, могу ли я решить свою проблему – jam