sam*_*ira 3 java jsf java-ee primefaces jsf-2
以下是我的数据表pic,我希望当我删除一行时,数据表刷新.但是从DB中删除了行,但之后没有从数据表中删除.
我尝试下面的代码,但他们无法帮助我.
<h2>?????? ??????? ?????</h2>
<h:form id="f2" prependId="false">
<p:dataTable id="pdataTable" var="personel" value="#{personelMB.personelList}" rowKey="#{personelMB.personel_id}"
>
<f:facet name="header">
??????? ?????
</f:facet>
<p:column>
<f:facet name="header">
????? ??????
</f:facet>
<h:outputText value="#{personel.personel_id}" />
<f:facet name="footer">
?????
</f:facet>
</p:column>
<p:column headerText="???">
<h:outputText value="#{personel.pname}" />
</p:column>
<p:column headerText="??? ????????">
<h:outputText value="#{personel.pfamily}" />
</p:column>
<p:column headerText="????">
<h:outputText value="#{personel.paddress}" />
</p:column>
<p:column headerText="????">
<h:outputText value="#{personel.pphone}" />
</p:column>
<p:column>
<f:facet name="???">
<h:outputText value="" />
</f:facet>
<p:commandButton icon="ui-icon-close" title="???"
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" update="pdataTable"/>
</p:column>
<f:facet name="footer">
????? ?????#{fn:length(personelMB.getPersonelList())} ??????.
</f:facet>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
第二次尝试:
<p:commandButton icon="ui-icon-close" title="???"
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" reRender="pdataTable"/>
</p:column>
Run Code Online (Sandbox Code Playgroud)
3.third try:personelBean.java
public void deletePersonel(int personel_id){
Personel personel=(Personel)personelservice.getPersonelId(personel_id);
getPersonelservice().deletePersonel(personel);
}
public String deleteAction(Personel personel) {
personelList.remove(personel);
return null;
}
Run Code Online (Sandbox Code Playgroud)
xhtml文件
<p:commandButton icon="ui-icon-close" title="???"
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" action="#{personelMB.deleteAction(personel)}"/>
</p:column>
Run Code Online (Sandbox Code Playgroud)
请帮我.
而不是ajax是假的,这是真的.
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" update="@form" ajax="true"/>
Run Code Online (Sandbox Code Playgroud)