2011-07-17 7 views
0

プライムフェイスのコンポーネントを更新する際に問題があります。プライムフェイスでDataTableを更新する際の問題

  <h:form> 
      <p:panel style="width: 350px;" header="Partial Process"> 
      <p:dataTable id="tablaPersonas" var="per" value="#{manejador.lista}"> 
       <p:column style="text-align: center;"> 
        <f:facet name="header"> 
         <h:outputText value="Nombre" /> 
        </f:facet> 
        <h:outputText value="#{per.nombre}" /> 
       </p:column> 
       <p:column style="text-align: center;"> 
        <f:facet name="header"> 
         <h:outputText value="Apellido" /> 
        </f:facet> 
        <h:outputText value="#{per.apellido}" /> 
       </p:column> 
       <p:column headerText="Editar" style="text-align: center;"> 
        <p:commandButton value="Editar"/> 
       </p:column> 
      </p:dataTable> 
    </p:panel> 
      <p:commandButton value="Abrir" onclick="widgetDlgAgregar.show();"/> 

      <p:dialog header="Agregar" widgetVar="widgetDlgAgregar" width="250" height="150" closable="true"> 
       <h:panelGrid id="gridAdd" columns="2"> 
        <h:outputLabel value="Nombre:"/> 
        <p:inputText value="#{manejador.auxiliarAgregar.nombre}"/> 

        <h:outputLabel value="Apellido:"/> 
        <p:inputText value="#{manejador.auxiliarAgregar.apellido}"/> 

        <p:commandButton oncomplete="widgetDlgAgregar.hide();" update="tablaPersonas,gridAdd" value="Agregar" actionListener="#{manejador.agregarPersona}"/> 
       </h:panelGrid> 
      </p:dialog> 

     </h:form> 

見ての通り、私は「Abrir」とダイアログと呼ばれるコマンドボタンをクリックしてタイトルとして「Agregar」を開きます。ここでは一例です。私は入力ボックスを入力し、コマンドボタン "Agregar"をクリックすると、DataTableは更新されません。なぜこうなった?

答えて

1

ああ申し訳ありません私はあなたが

試して、この更新を忘れてしまったと思いますこれはうまくいくはずです

  <h:form prependId="false"> 
      <p:panel style="width: 350px;" header="Partial Process"> 
       <p:dataTable id="tablaPersonas" var="per" 
        value="#{manejador.lista}"> 
        <p:column style="text-align: center;"> 
         <f:facet name="header"> 
          <h:outputText value="Nombre" /> 
         </f:facet> 
         <h:outputText value="#{per.nombre}" /> 
        </p:column> 
        <p:column style="text-align: center;"> 
         <f:facet name="header"> 
          <h:outputText value="Apellido" /> 
         </f:facet> 
         <h:outputText value="#{per.apellido}" /> 
        </p:column> 
        <p:column headerText="Editar" style="text-align: center;"> 
         <p:commandButton value="Editar" /> 
        </p:column> 
       </p:dataTable> 
      </p:panel> 
      <p:commandButton value="Abrir" onclick="widgetDlgAgregar.show();" update="gridAdd" /> 



      <p:dialog header="Agregar" widgetVar="widgetDlgAgregar" width="250" 
       height="150" closable="true"> 
       <h:panelGrid id="gridAdd" columns="2"> 
        <h:outputLabel value="Nombre:" /> 
        <p:inputText value="#{manejador.auxiliarAgregar.nombre}" /> 

        <h:outputLabel value="Apellido:" /> 
        <p:inputText value="#{manejador.auxiliarAgregar.apellido}" /> 

        <p:commandButton oncomplete="widgetDlgAgregar.hide();" 
         update="tablaPersonas,gridAdd" value="Agregar" 
         actionListener="#{manejador.agregarPersona}" /> 
       </h:panelGrid> 
      </p:dialog> 

     </h:form> 
0

試みは、フォームの外にあなたの

<p:dialog header="Agregar" widgetVar="widgetDlgAgregar" width="250" height="150" closable="true">

を入れて追加しprependId = "false" をフォームに<h:form prependId="false" >

関連する問題