我有一個數據表的頁面,必須顯示有關郵箱對象的各種信息。其中一個信息是郵箱的所有者,郵箱的ID由郵箱對象存儲。在輸出中,我用一個支持bean的方法解決了這個問題,該方法通過郵箱對象檢索用戶名。在輸入中,我認爲使用自動完成與pojo,但我不能確切地知道如何做到這一點。PrimeFaces數據表編輯自動完成pojo
我的JSF頁面:
<p:dataTable id="dataTable" value="#{bean.mailboxes}" var="m" editable="true">
<!-- other table -->
<p:column headerText="Owner">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{bean.userByMailbox(m)}" />
</f:facet>
<f:facet name="input">
<!-- here comes autocomplete -->
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
我的豆:
public class Bean {
// Other properties and methods
List<Mailbox> mailboxes;
public List<Mailbox> getMailboxes() {
if (mailboxes == null) {
Query q = em.createNamedQuery("Mailbox.findAll");
mailboxes = q.getResultList();
}
return mailboxes;
}
public User getUserByMailbox(Mailbox m) {
Query q = em.createNamedQuery("User.findByUsrId");
q.setParameter("usrId", m.getUsrId());
return (User)q.getSingleResult();
}
}
謝謝大家!
你不是全新的,所以你應該知道你應該顯示代碼 – kolossus 2013-02-15 12:43:17
我認爲這個例子來自[Primefaces autocompletes](http://www.primefaces.org/showcase/ui/autoCompletePojo.jsf ; jsessionid = h6hn1ic6vp4i1a3z0s1vp2fpr)很明顯 – Darka 2013-02-15 13:06:58