0

I have a problem with resetting the values of a <p: selectOneMenu> component that is housed within a <p: dialog> component, it turns out that I have declared the <p: dialog> on the same page where I show it with a < p: commandButton> and I want that when I finish editing the data and press the button again, the component <p: selectOneMenu> comes out with the initial values, and this is not happening, instead it keeps the selection I made previously. Thank you very much for the help you can give me. this is the code of the page. I don't think it is necessary to put the code for the backing beans but they do need it without problem.

 <?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
    <body class="areaContenido">
        <ui:composition template="../resources/template/tgeneral.xhtml">
            <ui:define name="content"  class="areaContenido"> 
                <h:form id="guser"> 
                    <p:growl id="msgs" showDetail="true" />
                    <p:dataTable var="usermio" value="#{userBean.lazyModel}" paginator="true" rows="10" class="FuentTable" rowKey="#{usermio.id}"
                                 paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
                                 rowsPerPageTemplate="5,10,15" id="userTable" lazy="true">     
                        <f:facet name="header">                             
                            <p:outputLabel value="Gestión de usuarios del sistema"  style="font-weight: bold; text-align: center;"/>                          
                        </f:facet>
                        <p:column headerText="Id" width="5%">
                            <h:outputText value="#{usermio.id}" />
                        </p:column>                          
                        <p:column headerText="Usuario" width="15%" >
                            <h:outputText value="#{usermio.usuario}" />
                        </p:column>
                        <p:column headerText="Nombre" width="20%">
                            <h:outputText value="#{usermio.nombre}"/>
                        </p:column>
                        <p:column headerText="Apellidos" width="25%">
                            <h:outputText value="#{usermio.apellidos}" />
                        </p:column>                           
                        <p:column headerText="Rol" width="15%">
                            <h:outputText value="#{usermio.rol.rol}" />
                        </p:column>    
                        <p:column headerText="Opt" width="15%">
                            <p:commandButton  value=""  update=":guser:userEdit" onclick="PF('userDial').show()" icon="ui-icon-pencil" ajax="true" >
                                <f:setPropertyActionListener value="#{usermio}" target="#{userBean.selecteduser}" />                                
                            </p:commandButton>
                            <p:commandButton  value="" update=":guser:userEdit"  onclick="PF('cd').show()" icon="ui-icon-key" ajax="true">
                                <f:setPropertyActionListener value="#{usermio}" target="#{userBean.selecteduser}"  />
                            </p:commandButton>
                            <p:commandButton  value="" update=":guser:userEdit"  onclick="PF('cd').show()" icon="ui-icon-cancel" ajax="true">
                                <f:setPropertyActionListener value="#{usermio}" target="#{userBean.selecteduser}"  />
                            </p:commandButton>
                        </p:column>
                        <f:facet name="footer">  
                            <p:button icon="ui-icon-plus" id="nuevo" value="Nuevo" href="/glitic/adm/register.xhtml"  title="Nuevo usuario" />                       
                        </f:facet>
                    </p:dataTable> 
                    <p:dialog  header="Edición de datos" widgetVar="userDial" modal="true" showEffect="bounce" hideEffect="fade" resizable="false" class="Fuent" responsive="true"   >                        
                        <p:outputPanel id="userEdit" style="text-align:center;">                           
                            <p:panelGrid   columns="2" rendered="#{not empty userBean.selecteduser}" columnClasses="label,value">
                                <h:outputText value="Id:" />
                                <h:outputText value="#{userBean.selecteduser.id}" />
                                <h:outputText value="Usuario" />
                                <p:inputText  value="#{userBean.selecteduser.usuario}" id="username" required="true" requiredMessage="Se necesita el usuario"/>
                                <h:outputText value="Nombres" />
                                <p:inputText value="#{userBean.selecteduser.nombre}" id="nombre" required="true" requiredMessage="Se necesita el nombre"/>
                                <h:outputText value="Apellidos" />
                                <p:inputText value="#{userBean.selecteduser.apellidos}" id="apellidos" required="true" requiredMessage="Se necesita los apellidos"/>
                                <h:outputText value="Rol" />                               
                               <p:selectOneMenu id="sroles" value="#{userBean.selectedrol}" style="width:160px" effect="fold" >                                                                    
                                   <f:selectItem itemLabel="Escoja un rol para el usuario" itemValue="" />
                                    <f:selectItems value="#{userBean.roles}" var="xroles" itemLabel="#{xroles.rol}" itemValue="#{xroles.id}" />                                   
                                </p:selectOneMenu>
                                <h:outputText value="Guardar cambios:" />
                                <p:commandButton value="Guardar" action="#{cttobean.NVenta()}" ajax="false"/> 
                            </p:panelGrid>
                        </p:outputPanel>
                    </p:dialog>
                </h:form>   

            </ui:define>

        </ui:composition>

    </body>
</html>
Jasper de Vries
  • 13,693
  • 6
  • 54
  • 86
Nebulak
  • 1
  • 1

0 Answers0