2017-04-04 252 views
0

我有一个问题,因为我想保持一个Primefaces对话框打开,但每次按下注册按钮时,它都会关闭。需要保持打开Primefaces对话框

这样,当数据加载良好时,不会是一个大问题。由于它们被记录在数据库中并且操作结束。

我的目的是让对话框保持在屏幕上,直到我决定用另一个按钮关闭它。这是因为如果验证引发错误,则应该保留,直到它们更正数据或决定不注册。

附对话框代码:

  <h:form id="frmAltaCombustible"> 
       <p:dialog header="Nuevo Combustible" widgetVar="dialogoNuevoCombustible" resizable="false" width="900" showEffect="explode" hideEffect="explode" > 
        <p:panelGrid id="nuevoCombustible" columns="3"> 
         <p:outputLabel value="Identificador de Combustible:" for="txtIdentificador"/> 
         <p:inputText id="txtIdentificador" label="Identificador" value="#{mbCombustibles.combustible.idcombustible}"> 
          <f:validator validatorId="validadorVacio"/> 
         </p:inputText> 
         <p:message for="txtIdentificador"/> 
         <p:outputLabel value="Nombre de combustible:" for="txtDescripcion"/> 
         <p:inputText id="txtDescripcion" label="Nombre" value="#{mbCombustibles.combustible.descripcion}"> 
          <f:validator validatorId="validadorVacio"/> 
         </p:inputText> 
         <p:message for="txtDescripcion"/> 
         <p:commandButton value="Registrar Combustible" actionListener="#{mbCombustibles.registrar()}" update=":frmAltaCombustible,:frmListaCombustibles"/> 
        </p:panelGrid> 
       </p:dialog> 
      </h:form> 
+0

然后只是不更新​​包含表格的完整表格 – Kukeltje

回答

2

如果你想要做的就是更新你应该使用update="nuevoCombustible",而不是在对话框中的表单字段。

假设您的对话框是通过使用JavaScript更改CSS属性来呈现的,那么当组件重新呈现时,您将实际上失去这些值。

+0

这是完美的。 但我忘了告诉你,Dialog从一个数据表中的按钮实例化它,并且不以这种方式更新它。 对不起,遗忘。 –