0

我有一个下拉列表,我正在使用 Ajax 组件执行操作,具体取决于下拉列表的选择,现在我工作正常,我需要运行事件但已经选择了下拉值。我也有我的代码:

<p:selectOneMenu value="#{regRolMB.rol.sistema.cdCodigo}">
    <f:selectItem itemLabel="-- SELECCIONE --" itemValue="" />
    <f:selectItems value="#{regRolMB.listHorario}" var="hor" itemValue="#{hor.cdCodigo}" itemLabel="#{hor.nbNombre}" />                                 
    <p:ajax listener="#{regRolMB.changeHorario}" process="@this" update="dataTableHorario" />                                   
</p:selectOneMenu>

在这样的控制器中:

private List<DetHorario> detHorario;

@PostConstruct
    public void init() {
        try{        
            detHorario = new ArrayList<DetHorarioBean>();
        }catch(Exception e){
            e.printStackTrace();
        }       
    }

    private void ListadoDetHorarios(Long rolCodHorario){
        detHorario = detHorarioService.buscarDetHorarioPorRolHorario(rolCodHorario);        
    }

    public void changeHorario(AjaxBehaviorEvent vce){   
       Long idRolCodHorario= (Long) ((UIOutput) vce.getSource()).getValue();      
       ListadoDetHorarios(idRolCodHorario);
    }

我进行了咨询,因为我可以在@PostConstruct中运行该事件changeHorario

4

0 回答 0