2017-11-17 19 views
-1

私は、パネルを更新するデータテーブルにコマンドボタンを持っていますか?私はorg.primefaces.expression.ComponentNotFoundExceptionを取得する:私はコマンドボタンをクリックすると、式のコンポーネントを見つけることができません。コマンドボタンからタブ内のデータテーブルの外側のパネルを更新するには

<p:tab title="Register Vendor" id="tabtab"> 

    <p:panel id="ven"> 

     <h:panelGrid columns="6"> 
      <p:outputLabel value="Vendor Name: " for="vname"/> 
      <p:inputText id="vname" required="true" value="#{bank.vendor_name}" /> 
      <p:message for="vname"/> 

      <p:outputLabel value="Vendor Bank: " for="bank"/> 
      <p:selectOneMenu id="bank" value="#{bank.bankmode.bankName}" required="true" requiredMessage="Bank required"> 

       <f:selectItem itemLabel="--Select Bank--" itemValue="" noSelectionOption="true"/> 
       <f:selectItems value="#{bank.bankmodel}" 
           var="singlevalue" 
           itemLabel="#{singlevalue.bankName}" 
           itemValue="#{singlevalue.bankName}"/> 
      </p:selectOneMenu> 


      <p:message for="bank"/> 

      <p:outputLabel value="Vendor Account Number: " for="anum"/> 
      <p:inputText id="anum" required="true" value="#{bank.vendor_acct}" requiredMessage="Account Number required" /> 
      <p:message for="anum"/> 

      <p:outputLabel value="Vendor Contact Address: " for="adress"/> 
      <p:inputTextarea id="adress" required="true" value="#{bank.vendor_address}" requiredMessage="Contact Address required" /> 
      <p:message for="adress"/> 

      <p:outputLabel value="Vendor Email Address: " for="email"/> 
      <p:inputText id="email" required="true" label="email" size="40" 
         requiredMessage="Please enter your email address." 
         validatorMessage="Invalid email format" 
         value="#{bank.vendor_email}"> 

       <f:validateRegex 
        pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" /> 

      </p:inputText> 
      <p:message for="email" /> 

      <p:outputLabel value="Vendor Phone Number " for="pnum"/> 
      <p:inputText id="pnum" required="true" value="#{bank.vendor_phone}" requiredMessage="Phone number required" /> 
      <p:message for="pnum"/> 

      <p:commandButton value="save" process="@this vname,bank,anum,adress,email,pnum" update="singleTB,:templateForm:growl,ven" actionListener="#{bank.insertData}" /> 

     </h:panelGrid> 




     <p:outputPanel style="margin-left: 800px;"> 
      <h:outputText value="Search all fields:" /> 
      <p:inputText id="globalFilter" style="width:150px; margin-right: 10px;" placeholder="Enter keyword" /> 
      <p:commandButton value="Search"/> 
     </p:outputPanel> 
    </p:panel> 
    <p:panel id="singleTB"> 

     <p:dataTable var="ven_tab" 
        selectionMode="true" 
        rowKey="#{ven_tab.id}" 
        value="#{bank.vendorList}"           
        paginatorTemplate="{CurrentPageReport} 
        {FirstPageLink} {PreviousPageLink} 
        {PageLinks} {NextPageLink} {LastPageLink} " 
        paginator="true" style="margin-bottom:20px" 
        rowsPerPageTemplate="5,10,15"> 
      <p:column> 
       <f:facet name="header"> 
        <h:outputText value="Vendor Id"/> 
       </f:facet> 

       <h:outputText value="#{ven_tab.vendorId}"/> 

      </p:column> 

      <p:column> 

       <f:facet name="header"> 
        <h:outputText value="Vendor Name"/> 
       </f:facet> 
       <p:cellEditor> 
        <f:facet name="output"><h:outputText value="#{ven_tab.vendorName}"/></f:facet> 
        <f:facet name="input"><p:inputText value="#{ven_tab.vendorName}" required="true" requiredMessage="Name is required" style="width:96%"/></f:facet> 
       </p:cellEditor> 


      </p:column> 

      <p:column> 

       <f:facet name="header"> 
        <h:outputText value="Vendor Phone Number"/> 
       </f:facet> 
       <h:outputText value="#{ven_tab.vendorPnum}"/> 
      </p:column> 

      <p:column> 

       <f:facet name="header"> 
        <h:outputText value="Vendor Email"/> 
       </f:facet> 
       <h:outputText value="#{ven_tab.vendorEmail}"/> 

      </p:column> 
      <p:column> 

       <f:facet name="header"> 
        <h:outputText value="Vendor Contact Address"/> 
       </f:facet> 
       <h:outputText value="#{ven_tab.vendorContact}"/> 
      </p:column> 
      <p:column> 

       <f:facet name="header"> 
        <h:outputText value="Vendor Bank"/> 
       </f:facet> 
       <h:outputText value="#{ven_tab.vendorBank}"/> 
      </p:column> 
      <p:column> 
       <f:facet name="header"> 
        <h:outputText value="Vendor Account Number"/> 
       </f:facet> 
       <h:outputText value="#{ven_tab.vendorAcct}"/>   
      </p:column> 
      <p:column style="width:32px" exportable="false"> 
       <f:facet name="header">Action</f:facet> 
       <p:commandButton icon="ui-icon-edit" style="margin-left: -5px;" process="@this" update=":tabtab:ven,:templateForm:growl" actionListener="#{bank.select(ven_tab)}" /> 

      </p:column> 


     </p:dataTable> 
     <p:contextMenu for="singleTB" rendered="#{bank.status}" > 
      <p:menuitem value="Delete" process="@this singleTB" update=":templateForm:growl,singleTB" icon="ui-icon-close" actionListener="#{bank.deleteCar}"/> 
     </p:contextMenu> 
     <p:panel style="margin-top:-50px; float: right;"> 
      <h3>Export table Data Only</h3> 

      <h:commandLink immediate="true"> 
       <p:graphicImage value="/images/excel.png" /> 
       <p:dataExporter type="xls" target="singleTB " fileName="report" pageOnly="true"/> 
      </h:commandLink> 

      <h:commandLink immediate="true"> 
       <p:graphicImage value="/images/pdf.png" /> 
       <p:dataExporter type="pdf" target="singleTB" fileName="report" pageOnly="true" /> 
      </h:commandLink> 

      <h:commandLink immediate="true"> 
       <p:graphicImage value="/images/csv.png" /> 
       <p:dataExporter type="csv" target="singleTB" fileName="report" pageOnly="true" /> 
      </h:commandLink> 

      <h:commandLink immediate="true"> 
       <p:graphicImage value="/images/xml.png" /> 
       <p:dataExporter type="xml" target="singleTB" fileName="report" pageOnly="true" /> 
      </h:commandLink> 
     </p:panel> 

    </p:panel> 


</p:tab> 

私はフォームを含むマスターページを持っています。 Plsどのように私はこの問題を解決します。私はいつかここにいた。

+0

追加したコードは、複数のコマンドボタン/テーブルを持っているので、少なくとも、あなたは、あなたが話しているのCommandButtonとどのテーブル言及する必要があります。また、完全なエラーメッセージを追加してください。 –

+0

私は指定されたようなデータテーブル内に1つのコマンドボタンしかありませんでした。 –

+0

あなたは 'ven'だけで試しましたか? – peterremec

答えて

-1

クリエイターが私に投票しても。解決策は次のとおりです。

<p:tabView id="tabview"> 
      <p:tab title="Register Vendor" id="tabtab"> 

       <h:form id="tabForm"> 
        <p:panel id="ven"> 
        </p:panel> 
        <p:panel id="singleTB"> 

.....

<p:commandButton value="button" id="buttonInTable" 
            icon="ui-icon-edit" style="margin-left: -5px;" 
            update=":mainForm:tabview:tabForm:ven " /> 
+0

tabtabは、タブのコンポーネントIDです.itは、コードの最初の行にあります。 –

+0

Ahmet Emre Kilinc編集前に、あなたの投稿に最初の行が表示されませんでした。あなたの間違った投稿に基づいてあなたを助けてくれる人を投票することは、あまり役に立ちません。 – pwain

+0

私の答えを編集します。しかし、私はdownvoted後詳細にそれを説明する気分ではない – pwain

関連する問題