2017-07-21 15 views
0

在我的應用程序中,我向java添加了java自動完成功能。 此項目運作良好。但創建行後它不工作。 我將視頻錄製到YouTube。在primefaces上創建行後,Java自動完成功能不工作

https://www.youtube.com/watch?v=0FM52YNsDZY

頁:

<p:autoComplete id="autocomplete" dropdown="true" value="#{126Controller.tesisAuto}" var="auto" 
             completeMethod="#{211Controller.complete}" forceSelection="true" 
             itemLabel="#{auto.tesisAdi}" itemValue="#{auto}"> 
          <f:facet name="itemtip"> 
           <h:panelGrid columns="2" cellpadding="5"> 
            <h:outputText value="Tesis Adı: "/> 
            <h:outputText value="#{auto.tesisAdi}"/> 
            <h:outputText value="Şeflik Adı: "/> 
            <h:outputText value="#{211Controller.getSeflik(auto.seflikKodu)}"/> 
            <h:outputText value="Adres: "/> 
            <h:outputText value="#{auto.adres}"/> 
           </h:panelGrid> 
          </f:facet> 
          <p:ajax event="itemSelect" listener="#{126Controller.itemByTesisAuto()}" update=":126ListForm:display"/> 
         </p:autoComplete> 

Complete方法:

public List<211> complete(String query) { 
    return autoComplete(query); 
} 
public List<211> autoComplete(String auto){ 
    List<211> completed = new ArrayList<211>(); 

    for (211 m211: this.getFacade().getTesisByYetkiIsyeriKodu(yetkiSeflik)){ 
     if(m211.getTesisAdi().startsWith(auto.toUpperCase())){ 
      completed.add(m211); 
     } 
    } 
    return completed; 
} 

創建方法:

public void create() { 
    persist(PersistAction.CREATE, "Oluşturma"); 
    if (!JsfUtil.isValidationFailed()) { 
     items = null; // Invalidate list of items to trigger re-query. 
    } 
} 
+1

還有就是你創建一個行無碼......請[MCVE]和版本信息等 – Kukeltje

+0

Uzunca961

+0

primefaces 6.0 - Netbeans 8.2 - JDK 1.8 – Uzunca961

回答

0

感謝神。 我解決了。我加了h:頭並且工作了。 非常感謝。

<p:panelGrid id="sef" columns="1" style="width: 100%"> 
       <h:head> 
       <h:form> 
        <h:panelGrid columns="2" style="width: 100%"> 
         <h:outputText value="Şeflik Seçiniz : " style="width: 20%" rendered="#{211Controller.yetkiliSeflikSayisi gt 1}"/> 
         <p:selectOneMenu id="seflik" value="#{211Controller.yetkiSeflik}" effect="fold" rendered="#{211Controller.yetkiliSeflikSayisi gt 1}" > 
           <f:selectItem itemLabel="Seçiniz" itemValue=""/> 
           <f:selectItems value="#{211Controller.list}"/> 
           <p:ajax update="autocomplete"/> 
         </p:selectOneMenu> 
         <h:outputText value="Tesis Seçiniz : " style="width: 20%"/> 
         <p:autoComplete id="autocomplete" dropdown="true" value="#{126Controller.tesisAuto}" var="auto" 
             completeMethod="#{211Controller.complete}" forceSelection="true" 
             itemLabel="#{auto.tesisAdi}" itemValue="#{auto}"> 
          <f:facet name="itemtip"> 
           <h:panelGrid columns="2" cellpadding="5"> 
            <h:outputText value="Tesis Adı: "/> 
            <h:outputText value="#{auto.tesisAdi}"/> 
            <h:outputText value="Şeflik Adı: "/> 
            <h:outputText value="#{211Controller.getSeflik(auto.seflikKodu)}"/> 
            <h:outputText value="Adres: "/> 
            <h:outputText value="#{auto.adres}"/> 
           </h:panelGrid> 
          </f:facet> 
          <p:ajax event="itemSelect" listener="#{126Controller.itemByTesisAuto()}" update=":126ListForm:display :126ListForm:sef"/> 
         </p:autoComplete> 
        </h:panelGrid> 
       </h:form> 
       </h:head> 
      </p:panelGrid> 
+0

我幾乎認爲這是正確的把h:頭內h:身體 –

+0

即時通訊很抱歉。我的回覆遲到了。我刪除了h:頭,它沒有工作。 – Uzunca961