java p:dataTable - 删除行后刷新数据表
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11829378/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
p:dataTable - refresh datatable after delete row
提问by samira
following is my data table pic and i want when i delete a row, data table refreshes. but row deleted from DB but doesnot delete from data table after that.
i try following codes but they could not help me.
以下是我的数据表图片,我希望当我删除一行时,数据表会刷新。但是从数据库中删除了行,但之后不会从数据表中删除。
我尝试以下代码,但他们无法帮助我。
<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>
2.second try:
2.第二次尝试:
<p:commandButton icon="ui-icon-close" title="???"
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" reRender="pdataTable"/>
</p:column>
3.third try: personelBean.java
3.第三次尝试: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;
}
xhtml file
.xhtml 文件
<p:commandButton icon="ui-icon-close" title="???"
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" action="#{personelMB.deleteAction(personel)}"/>
</p:column>
please help me.
请帮我。
回答by samira
Instead of ajax to be false made it true.
而不是 ajax 是假的让它成为真的。
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" update="@form" ajax="true"/>
回答by Deniz
use update="@form" parameter on commandbutton
在命令按钮上使用 update="@form" 参数
回答by Nagaraj Am
Have You tried like this in
你试过这样吗
<p:commandButton update=":f2:pdataTable"></p:commandButton>