2014-03-12 3 views
0

필요에 따라 다른 것을로드하는 selectOneMenu가 있습니다. 참조 :값이 ManagedBean으로 selectOneMenu를 설정하지 않았습니다.

<h:outputLabel value="Tabela: *" /> 
       <p:selectOneMenu id="selectOneMenuTabela" 
        converter="entityConverter" 
        value="#{orcamentoMB.tabelaSelecionada}" effect="fade" 
        required="true" requiredMessage="A Tabela é obrigatória"> 
        <f:selectItem itemLabel="Selecione uma Tabela" itemValue="" /> 
        <f:selectItems value="#{orcamentoMB.tabelas}" var="tabela" 
         itemLabel="#{tabela.nome}" itemValue="#{tabela}" /> 
        <p:ajax event="change" update="selectOneMenuProcedimento" /> 
       </p:selectOneMenu> 

       <h:outputText value="Procedimento: *" /> 
       <p:selectOneMenu id="selectOneMenuProcedimento" 
        disabled="#{orcamentoMB.tabelaSelecionada == null}" 
        converter="entityConverter" filter="true" 
        filterMatchMode="contains" 
        value="#{orcamentoMB.itemTabelaProcedimentoSelecionado}" 
        effect="fade" required="true" 
        requiredMessage="O procedimento é obrigatório"> 
        <f:selectItem itemLabel="Selecione um Procedimento" itemValue="" /> 
        <f:selectItems value="#{orcamentoMB.tabelaSelecionada.itens}" 
         var="item" itemLabel="#{item.procedimento.nome}" 
         itemValue="#{item}" /> 
        <p:ajax event="change" 
         update="localAplicacao, selectOneMenuDente,selectOneMenuFace" /> 
       </p:selectOneMenu> 

       <h:outputText value="Local Aplicação: *" /> 
       <h:outputText id="localAplicacao" 
        value="#{orcamentoMB.itemTabelaProcedimentoSelecionado.procedimento.localAplicacao.descricao}" /> 

       <h:outputText value="Dente: *" /> 
       <p:selectOneMenu id="selectOneMenuDente" converter="entityConverter" 
        filter="true" filterMatchMode="contains" 
        disabled="#{orcamentoMB.itemTabelaProcedimentoSelecionado.procedimento == null || orcamentoMB.itemTabelaProcedimentoSelecionado.procedimento.dentesAsList.size() == 0}" 
        value="#{orcamentoMB.denteSelecionado}" effect="fade"> 
        <f:selectItem itemLabel="Selecione um Dente" itemValue="" /> 
        <f:selectItems 
         value="#{orcamentoMB.itemTabelaProcedimentoSelecionado.procedimento.dentesAsList}" 
         var="dente" itemLabel="#{dente.descricao}" itemValue="#{dente}" /> 
       </p:selectOneMenu> 

       <h:outputText value="Face: *" /> 
       <p:selectOneMenu id="selectOneMenuFace" converter="entityConverter" 
        disabled="#{orcamentoMB.itemTabelaProcedimentoSelecionado.procedimento.facesAplicacaoAsList.size() == 0 || orcamentoMB.itemTabelaProcedimentoSelecionado == null}" 
        value="#{orcamentoMB.faceSelecionada}" effect="fade"> 
        <f:selectItem itemLabel="Selecione uma Face" itemValue="" /> 
        <f:selectItems 
         value="#{orcamentoMB.itemOrcamento.itemTabelaProcedimento.procedimento.facesAplicacaoAsList}" 
         var="face" itemLabel="#{face.descricao}" itemValue="#{face}" /> 
       </p:selectOneMenu> 

은 "selectOneMenuTabela"와 "selectOneMenuProcedimento는"값이 ManagedBean은에 잘 살고 있지만, 다른되지 않습니다, 잘 작동합니다.

제가 노호이있는 명령을 실행하려고

:

<p:commandButton value="Incluir" icon="ui-icon-plus" process="@this" 
        disabled="#{orcamentoMB.bean.situacao.codigo != 'AGUARDANDO_ACEITACAO'}" 
        update=":formManterOrcamento:tabViewManterOrcamento:tabProcedimentos,:formManterOrcamento:panelTotais" 
        actionListener="#{orcamentoMB.addItemOrcamento}" /> 

"denteSelecionado"내부 값이 널 및 "selectOneMenuFace"내부 값을로드하지 않는다.

답변

1

처음 두 개의 selectOneMenu에 p:ajax event="change"을 가지고 있기 때문에 제출 된 이유는 그 값을 얻는 이유입니다. commandButton을 클릭하여 처리하려면 process="@this,selectOneMenuFace,selectOneMenuDente,.."

disabled 또는 readOnly과 같은 프로세스 ID와 함께 해당 구성 요소 ID를 처리 속성에 추가하십시오.

희망이 있습니다.

+1

그래, 내 문제가 해결되었습니다. 감사. –

관련 문제