所以,我有2个表,table1
和table2
。对于他们两个,我有2个按钮来添加行和删除行。
如果table1
中没有任何行,我只能在table2
中添加或删除行,并使用#{myBean.table2HasRows}
对此进行测试。
所以我进入页面。我在table1
中有5行,在table2
中有2行。我可以正常添加或删除table2
中的行。然后我从table2
删除了2行,以便删除table1
中的行。
当我能够在table1
中添加或删除行时,我可以正常添加,我也可以删除刚刚添加的行。但是当我删除在我进入页面时加载的table1
的任何行(在bean中我从#{myBean.table1RowRepresentationList}
列表中删除了一个对象),该行删除确定,但然后页面中的所有内容都停止工作。我无法添加或删除任何其他行,并且我不能使用页面中的任何其他按钮,将不再调用该bean。
控制台中没有显示错误...
可能会发生什么?
谢谢!
<h:form>
<table width="1150x">
<tr>
<td>
<h:outputLabel styleClass="labelPublicacao" value="Table 1 " />
<h:outputLabel value="Table 1 description" />
</td>
<td colspan="2">
<h:panelGrid id="table1Panel" columns="2" styleClass="panelGridTop">
<p:dataTable
id="table1"
var="table1Var"
value="#{myBean.table1RowRepresentationList}"
editable="true" editMode="cell" style="align:center;" styleClass="geralBorderless">
<p:column headerText="" style="width:20px; " >
<p:commandLink
action="#{myBean.deleteTable1Row}"
update="table1,:form:wrongOption"
id="removeButton"
disabled="#{myBean.table2HasRows}"
>
<h:graphicImage value="/resources/icons/delete.gif" />
<f:setPropertyActionListener value="#{table1Var}"
target="#{myBean.table1RowRepresentation}" />
</p:commandLink>
</p:column>
<p:column headerText="Número de questões" style="width:70px;text-align:center">
<p:inputMask
value="#{table1Var.numberQuestions}"
style="width:25px;"
id="questionsField"
mask="9?9"
disabled="#{myBean.table2HasRows}"
/>
</p:column>
<p:column headerText="Error points" style="width:65px;text-align:center" rendered="#{myBean.wrongType}">
<p:inputText
value="#{table1Var.wrongField}"
style="width:25px;"
id="wrongPointsField"
onkeyup="formatDecimal(this);"
disabled="#{!myBean.wrongType}"
>
<f:convertNumber locale="pt_BR"/>
</p:inputText>
</p:column>
</p:dataTable>
<table>
<tr>
<td>
<p:commandButton value="ADD ROW"
update="table1,wrongOption"
id="addRowTable1Button"
actionListener="#{myBean.addRowForTabl1}"
disabled="#{myBean.table2HasRows}"
/>
</td>
</tr>
</table>
</h:panelGrid>
</td>
</tr>
<tr>
<td><h:outputLabel styleClass="labelPublicacao"
value="Table 2 " /> <h:outputLabel
value="Description of table 2" />
</td>
<td colspan="2">
<h:panelGrid id="table2Panel" columns="2" width="670" styleClass="panelGridTop">
<p:dataTable
id="table2"
var="table2Var"
value="#{myBean.table2RowRepresentationList}"
editable="true"
editMode="cell"
style="align:center;"
styleClass="geralBorderless">
<p:column headerText="" style="width:20px;">
<p:commandLink
action="#{myBean.deleteTable2Row}"
update="table2, :form:table1Panel"
id="remove3Button">
<h:graphicImage value="/resources/icons/delete.gif" />
<f:setPropertyActionListener
value="#{table2Var}"
target="#{myBean.table2RowRepresentation}" />
</p:commandLink>
</p:column>
<p:column headerText="Name" >
<p:inputText
value="#{table2Var.concursoBook.name}"
style="width:140px;"
id="nameField"
/>
</p:column>
<p:column headerText="Modal buttons" style="width:290px;text-align: center;">
<p:commandButton value="Modal 1"
id="modal2Button"
oncomplete="modal2.show();"
styleClass="internalButton">
</p:commandButton>
<p:commandButton value="Modal 2"
id="modal1Button"
oncomplete="modal2.show();"
styleClass="internalButton">
</p:commandButton>
</p:column>
</p:dataTable>
<p:commandButton value="ADD ROW"
update="table2, table1, :form:table1Panel, addRowTable1Button"
id="addRowTable2Button"
action="#{myBean.addRowForTable2}"
/>
</h:panelGrid>
</td>
</tr>
</table>
</h:form>