Problema com Componente Schedule do Primefaces

4 respostas
B

Neste tópico http://forum.primefaces.org/viewtopic.php?f=3&t=16331 do fórum do primefaces ninguém me responde, vamos ver se alguém me ajuda aqui.
Realizei teste com o schedule em um sistema isolado sem utilizar facelets e funcionou bacana.

Quando coloquei na minha aplicação, utilizando facelets, nem chama o construtor do managed bean da página do schedule. Não tenho idéia do que seja, se alguem puder me ajudar.

A codificação que usei esta aqui:

View

<ui:define name="conteudo">        
        <h:form prependId="false">      
            <p:messages id="messages"/>
            <p:schedule value="#{eventoController.scheduleModel}" editable="true" locale="pt">                      
            </p:schedule>
        </h:form>
    </ui:define>

Managed Bean

private ScheduleModel scheduleModel;
    private ScheduleEvent scheduleEvent = new DefaultScheduleEvent();

/* getters setters*/

public EventoController() {
        scheduleModel = new DefaultScheduleModel();
        ScheduleEvent e1 = new DefaultScheduleEvent("teste", new Date(), new Date());
        scheduleModel.addEvent(e1);        
    }

4 Respostas

F

Bem, você nunca modifica o valor do scheduler, como eu vi. Talvez, por isso, ele nunca constroi o managed bean. Já tentou adicionar eventos nesse scheduler, como no exemplo do showcase? No showcase, estão registrados vários eventos no scheduler:

&lt;p:schedule value="#{scheduleController.eventModel}" editable="true" widgetVar="myschedule"&gt;  
  
        &lt;p:ajax event="dateSelect" listener="#{scheduleController.onDateSelect}" update="eventDetails" oncomplete="eventDialog.show()" /&gt;  
        &lt;p:ajax event="eventSelect" listener="#{scheduleController.onEventSelect}" update="eventDetails" oncomplete="eventDialog.show()" /&gt;  
        &lt;p:ajax event="eventMove" listener="#{scheduleController.onEventMove}" update="messages" /&gt;  
        &lt;p:ajax event="eventResize" listener="#{scheduleController.onEventResize}" update="messages" /&gt;  
  
    &lt;/p:schedule&gt;

Talvez, ao executar alguma mudança no valor (que inicialmente é nulo), o managed bean seja construído.

B

Fernando, você não viu o código?! Existe um model que é montado no construtor do managed bean. Era pra esse model ser espelhado no schedule, o que é feito quando não uso facelets. Você já utilizou o compoente schedule ou só copiou o exemplo do showcase da primefaces?

:smiley:

P

Não sei se pode ajudar, mas não custa tentar.

Coloca o que vc declarou no construtor em um metodo, e anota ele com essa anotação: @PostConstruct

Concerteza ele vai ser executado corretamente.

Se não tiver nada haver, desconsidere.

B

Paulo,

Muito obrigado pela dica, mas não funcionou. O método é executado mas o schedule não exibe os dados. Estou começando a achar que é bug na versão.

Criado 19 de novembro de 2011
Ultima resposta 19 de nov. de 2011
Respostas 4
Participantes 3