Jsf 2 primefaces datatable行删除不会删除UI中的同一行
我正在使用PrimeFaces4.0。我有一个动态数据表,每行有selectonemenu组件,每行有delete按钮。单击delete按钮,managedbean列表中的确切行被删除,但在UI中,我只看到最后一行被删除。这是非常误导的 通过谷歌搜索,我在下面的链接中看到了同样的问题,删除按钮中设置的say's immediate=true导致了这个问题。 想知道immediate属性如何导致这个问题 但我的实际问题是,我无法删除immediate=true属性,因为如果我这样做,单击delete按钮将触发验证阶段,然后我将获得验证消息。我希望用户能够在验证失败的情况下删除这些行,因此我在“删除”按钮中设置了immediate=true,以便该行不被验证 有人能帮忙吗Jsf 2 primefaces datatable行删除不会删除UI中的同一行,jsf-2,primefaces,Jsf 2,Primefaces,我正在使用PrimeFaces4.0。我有一个动态数据表,每行有selectonemenu组件,每行有delete按钮。单击delete按钮,managedbean列表中的确切行被删除,但在UI中,我只看到最后一行被删除。这是非常误导的 通过谷歌搜索,我在下面的链接中看到了同样的问题,删除按钮中设置的say's immediate=true导致了这个问题。 想知道immediate属性如何导致这个问题 但我的实际问题是,我无法删除immediate=true属性,因为如果我这样做,单击dele
<p:dataTable id="levDataTbl" value="#{leventrybean.leaves}" var="lev"
widgetVar="levDataTbl">
<p:column >
<p:selectOneMenu value="#{lev.employee}" var="e"
filter="true" filterMatchMode="contains" id="empDrpDown"
rendered="#{leventrybean.sizeOfDirectorates > 0 }" required="true"
styleClass="px75DrpDown" converter="empconverter"
>
<f:selectItem itemLabel="-Select-" itemValue="" />
<f:selectItems value="#{leventrybean.employees}" var="employee"
itemLabel="#{employee.empName}" itemValue="#{employee}"/>
<p:ajax process="@this" update="@form" listener="#{lev.changeEmpListener}" />
<p:column >
#{e.empName}
</p:column>
<p:column >
#{e.empCd}
</p:column>
</p:selectOneMenu>
<p:outputLabel value="#{sessionScope['fullname']}"
rendered="#{leventrybean.sizeOfDirectorates == 0 }"
/>
</p:column>
<p:column >
<p:selectOneMenu value="#{lev.selectedLeaveType}"
filter="true" filterMatchMode="contains" var="levtp" id="levDrpDown"
rendered="true" converter="levtypconverter" styleClass="px75DrpDown"
required="true">
<f:selectItem itemLabel="-Select-" itemValue="" />
<f:selectItems value="#{lev.leavesAllowed}" var="l"
itemLabel="#{l.leaveTypeDesc}" itemValue="#{l}"/>
<p:ajax process="@this" update="@form" listener="#{lev.changeLevTypListener}"/>
<p:column>#{levtp.leaveTypeDesc}</p:column>
</p:selectOneMenu>
</p:column>
<p:column style="width:6%">
<p:commandButton id="deleteLeave" update="@form" image="ui-icon ui-icon-trash" >
<f:setPropertyActionListener value="#{lev}" target="#{leventrybean.selectedLeaveForDel}" />
</p:commandButton>
</p:column>
</p:dataTable>
没有密码。没有密码。没有密码。为什么?道歉。将很快用代码更新。
public void setSelectedLeaveForDel(Leave obj){
deleteLeave(obj);
}
private void deleteLeave(Object obj){
try{
this.leaves.remove(obj);
}catch(Exception e){
log.error("Error in deleteLeave() ::"+e);
log.error(Utility.getStackTrace(e));
}
}