我使用JSF 2,primefaces 4.0,我尝试使用DataTable - In-Cell Editing,因为它是在primefaces展示中生成的,但我有一个错误,虽然我复制了showcase中显示的相同示例错误是
<p:ajax> Unable to attach <p:ajax> to non-ClientBehaviorHolder parent
Run Code Online (Sandbox Code Playgroud)
这是xhtmlpagecode
<rich:panel style="width : 800px; height : 551px; " >
<f:facet name="header" >
<h:outputText value="Tableau des articles" align="center" style="FONT-SIZE: small;"/>
</f:facet>
<h:form id="form">
<p:dataTable id="cars" var="car" value="#{articlesbean.LMatpilotaccess1}" editable="true" editMode="cell" widgetVar="carsTable">
<f:facet name="header">
Matériel du pilotage et accessoires
</f:facet>
<p:growl id="messages" showDetail="true"/>
<p:contextMenu for="cars" widgetVar="cMenu">
<p:menuitem value="Edit Cell" icon="ui-icon-search" onclick="PF('carsTable').showCellEditor();return false;"/>
<p:menuitem value="Hide Menu" icon="ui-icon-close" onclick="PF('cMenu').hide()"/>
</p:contextMenu>
<p:column headerText="Serie" style="width:25%">
<p:ajax event="cellEdit" listenner="#{articlesbean.onCellEdit}" update=":form:messages" />
<p:cellEditor>
<f:facet …Run Code Online (Sandbox Code Playgroud) 我得到了以下代码
@Stateless
public class BondecomandeDAO {
@PersistenceContext
private EntityManager em;
public Bondecommande findBCbyid(int id)
{
Query q =em.createNamedQuery("select bc from Bondecommande bc where bc.idbc = :idbc");
q.setParameter("idbc", id);
return (Bondecommande) q.getResultList().get(0);
}
}
Run Code Online (Sandbox Code Playgroud)
和
@Entity
@Table(name="bondecommande")
public class Bondecommande implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="idbc")
private int idbc;
@Column(name="devise")
private String devise;
@Column(name="modepaiement")
private String modepaiement;
@Column(name="modelivraison")
private String modelivraison;
@Column(name="delaipaiement")
private int delaipaiement;
////other attributes , getters and setters
} …Run Code Online (Sandbox Code Playgroud) 我有这个简单的数据表:
<h:dataTable id="table1" value="#{fournisseurbean.BC.listematpilotaccess1}" style="width : 900px; " var="item"
border="1">
<h:column>
<f:facet name="header">
<h:outputText value="idmatpilotaccess1n" />
</f:facet>
<h:outputText value="#{item.idmatpilotaccess1}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="serie" />
</f:facet>
<h:outputText value="#{item.serie}" />
</h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)
如果没有要显示的数据,我想不显示此表,因此何时
#{fournisseurbean.BC.listematpilotaccess1}为空。我怎样才能做到这一点?