如何使用jsf primefaces编辑数据表中的行
我是jsf Primefaces的初学者。我对primefaces数据表有问题。 当我选择一行以在对话框组件中查看它时,不会显示任何内容如何使用jsf primefaces编辑数据表中的行,jsf,jakarta-ee,primefaces,Jsf,Jakarta Ee,Primefaces,我是jsf Primefaces的初学者。我对primefaces数据表有问题。 当我选择一行以在对话框组件中查看它时,不会显示任何内容 <center> <p:panel id="panel" header="Gestion Points Services * Affichage *" > <h:form id="my
<center>
<p:panel id="panel"
header="Gestion Points Services * Affichage *" >
<h:form id="myform">
<center>
<p:dataTable id="lesPS" var="ps"
value="#{listerPointSBean.listePointservice}"
rowKey="#{ps.idpointservice}"
selection="#{listerPointSBean.selectedPointservice}"
selectionMode="single"
emptyMessage="Aucuune Info dans la base"
paginator="true" rows="12"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15"
>
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Search all fields:" />
<p:inputText id="globalFilter" style="width:150px" />
</p:outputPanel>
</f:facet>
<f:facet name="header">
Afficher les Points Services
</f:facet>
<p:ajax event="rowSelect" />
<p:column headerText="ID" filterBy="#{ps.idpointservice}"
sortBy="#{ps.idpointservice}">
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{ps.idpointservice}" />
</p:column>
<p:column headerText="Nom" filterBy="#{ps.nom}"
sortBy="#{ps.nom}">
<f:facet name="header">
<h:outputText value="nom" />
</f:facet>
<h:outputText value="#{ps.nom}" />
</p:column>
<p:column headerText="adresse" filterBy="#{ps.adresse}"
sortBy="#{ps.adresse}">
<f:facet name="header">
<h:outputText value="adresse" />
</f:facet>
<h:outputText value="#{ps.adresse}" />
</p:column>
<p:column headerText="email" filterBy="#{ps.email}"
sortBy="#{ps.email}">
<f:facet name="header">
<h:outputText value="email" />
</f:facet>
<h:outputText value="#{ps.email}" />
</p:column>
<p:column headerText="tel" filterBy="#{ps.telephone}"
sortBy="#{ps.telephone}">
<f:facet name="header">
<h:outputText value="tel" />
</f:facet>
<h:outputText value="#{ps.telephone}" />
</p:column>
<p:column headerText="latitude" filterBy="#{ps.latitude}"
sortBy="#{ps.latitude}">
<f:facet name="header">
<h:outputText value="latitude" />
</f:facet>
<h:outputText value="#{ps.latitude}" />
</p:column>
<p:column headerText="longitude" filterBy="#{ps.longitude}"
sortBy="#{ps.longitude}">
<f:facet name="header">
<h:outputText value="longitude" />
</f:facet>
<h:outputText value="#{ps.longitude}" />
</p:column>
<p:column headerText="Ville" filterBy="#{ps.ville}"
sortBy="#{ps.ville}">
<f:facet name="header">
<h:outputText value="ville" />
</f:facet>
<h:outputText value="#{ps.ville}" />
</p:column>
<p:column headerText="Gouv" filterBy="#{ps.gouvernat}"
sortBy="#{ps.gouvernat}">
<f:facet name="header">
<h:outputText value="gouv" />
</f:facet>
<h:outputText value="#{ps.gouvernat}" />
</p:column>
<p:column headerText="type" filterBy="#{ps.type}"
sortBy="#{ps.type}">
<f:facet name="header">
<h:outputText value="type" />
</f:facet>
<h:outputText value="#{ps.type}" />
</p:column>
<p:column>
<p:commandButton style="margin-right:10%" id="affichButton"
icon="ui-icon-search"
actionListener="#{listerPointSBean.test}" oncomplete="psDialog.show()" />
</p:column>
</p:dataTable>
<p:dialog id="psdialog" header="ps Detail" widgetVar="psDialog"
resizable="false" width="500" height="350" showEffect="clip"
hideEffect="fold">
<h:panelGrid id="display" columns="2" cellpadding="4">
<h:outputText value="nom:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.nom}" />
<h:outputText value="Adresse:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.adresse}" />
<h:outputText value="Email:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.email}" />
<h:outputText value="Tel:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.telephone}" />
<h:outputText value="latitude:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.latitude}" />
<h:outputText value="Longitude:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.longitude}" />
<h:outputText value="Ville:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.ville}" />
<h:outputText value="Gouv:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.gouvernat}" />
<h:outputText value="Zip:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.zip}" />
<h:outputText value="type:" />
<h:outputText
value="#{listerPointSBean.selectedPointservice.type}" />
</h:panelGrid>
</p:dialog>
</h:form>
</p:panel>
</center>
`
附加积分服务
`
listerPointSBean托管bean如下所示:
@ManagedBean
@ViewScoped
public class ListerPointSBean implements Serializable {
private static final long serialVersionUID = 1L;
@EJB
PointserviceFacade bean;
List<String> Pointservices;
List<Pointservice> listePS;
private Pointservice selectedPointservice;
/**
* @return the Pointservices
*/
public List<String> getPointservices() {
listePS = bean.findAll();
return Pointservices;
}
/**
* @param Pointservices the Pointservices to set
*/
public void setPointservices(List<String> Pointservices) {
this.Pointservices = Pointservices;
}
/**
* @return the listePointservice
*/
public List<Pointservice> getListePointservice() {
listePS = bean.findAll();
return listePS;
}
/**
* @param listePointservice the listePointservice to set
*/
public void setListePointservice(List<Pointservice> listePointservice) {
this.listePS = listePointservice;
}
/**
* @return the selectedPointservice
*/
public Pointservice getSelectedPointservice() {
if(selectedPointservice ==null){
selectedPointservice=new Pointservice();
}
return selectedPointservice;
}
/**
* @param selectedPointservice the selectedPointservice to set
*/
public void setSelectedPointservice(Pointservice selectedPointservice) {
this.selectedPointservice = selectedPointservice;
}
public void delete() {
bean.remove(selectedPointservice);
}
public void editps(){
bean.edit(selectedPointservice);
@ManagedBean
@视域
公共类ListerPointSBean实现可序列化{
私有静态最终长serialVersionUID=1L;
@EJB
PointServiceFacadeBean;
列出服务;
列出清单;
私有点服务selectedPointservice;
/**
*@返回Pointservices
*/
公共列表getPointservices(){
listps=bean.findAll();
返回点服务;
}
/**
*@param Pointservices要设置的Pointservices
*/
公共void设置点服务(列出点服务){
this.Pointservices=Pointservices;
}
/**
*@返回ListPointService
*/
公共列表GetListPointService(){
listps=bean.findAll();
返回列表;
}
/**
*@param ListPointService要设置的ListPointService
*/
public void setListPointService(列表ListPointService){
this.listePS=listePointservice;
}
/**
*@返回selectedPointservice
*/
公共点服务getSelectedPointservice(){
如果(selectedPointservice==null){
selectedPointservice=新的Pointservice();
}
返回selectedPointservice;
}
/**
*@param selectedPointservice要设置的selectedPointservice
*/
公共无效集合selectedPointservice(Pointservice selectedPointservice){
this.selectedPointservice=selectedPointservice;
}
公共作废删除(){
删除(selectedPointservice);
}
公共图书馆{
编辑(selectedPointservice);
}
我用的是PrimeFaces3.5。
你能帮我吗?谢谢。你犯了一些错误。首先是@tiny评论的 其中的actionListener中指定的ListerPointSBean中的test()方法 " 在bean中,创建一个test()方法,在其中设置要在对话框中显示的属性值 调用对话框的另一种正确方法是
oncomplete="PF('psDialog').show()"
在ajax rowSelect事件中,您需要在p:对话框中更新h:panelGrid
<p:ajax event="rowSelect" update=":myform:display" oncomplete="psDialog.show()"/>
您是否尝试使用Firebug/other或设置p:dialog AppendToBody=true来检查它?
标记已被弃用