Java p:dataTable-删除行后刷新dataTable
下面是我的数据表图片,我想当我删除一行,数据表刷新。但行已从数据库中删除,但此后不会从数据表中删除。 我尝试以下代码,但他们无法帮助我Java p:dataTable-删除行后刷新dataTable,java,jsf,jakarta-ee,jsf-2,primefaces,Java,Jsf,Jakarta Ee,Jsf 2,Primefaces,下面是我的数据表图片,我想当我删除一行,数据表刷新。但行已从数据库中删除,但此后不会从数据表中删除。 我尝试以下代码,但他们无法帮助我 <h2>مشاهده اطلاعات پرسنل</h2> <h:form id="f2" prependId="false"> <p:dataTable id="pdataTable" var="personel" value="#{personelMB.personelList}" rowKey
<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>
xhtml文件
<p:commandButton icon="ui-icon-close" title="حذف"
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" action="#{personelMB.deleteAction(personel)}"/>
</p:column>
请帮助我。在commandbutton上使用update=“@form”参数您在中尝试过类似的方法吗
<p:commandButton update=":f2:pdataTable"></p:commandButton>
将ajax改为false,使其成为true
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" update="@form" ajax="true"/>
检查你的bean是否是ViewScope。我被@SessionScope使用。我将其更改为ViewScope,但它也不起作用。您确定操作方法正在运行吗?我的意思是,您是否调试或发布日志跟踪,以确保有效地执行了该方法?这可能是一个Java问题,而不是JSF/Primefaces。
ajax=“true”
是默认值,因此这个答案在这方面是不正确的。真正的问题是,reRender
应该更改为update
。所以社区的变化让答案变得更糟。。。
<p:commandButton update=":f2:pdataTable"></p:commandButton>
actionListener="#{personelMB.deletePersonel(personel.personel_id)}" update="@form" ajax="true"/>