2014-02-10 43 views
0

Primefaces JAR 3.3後不工作我用primefaces 4.0和我試圖改變Primefaces懶惰附表事件的顏色,所以我有以下XHTML代碼primefaces時間表事件的顏色更換了4.0

<style type="text/css"> 
     .Ajout .fc-event-skin { 
      background: #00FF00; 
     } 

     .Livraison .fc-event-skin { 
      background:#DF013A; 
      </style> 

     <p:schedule value="#{scheduleController.lazyEventModel}" locale="fr" showWeekends="true" eventSelectListener="#{scheduleController.onEventSelect}" > 

      <p:ajax event="eventSelect" listener="#{scheduleController.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" /> 

     </p:schedule> 


<p:dialog widgetVar="eventDialog" header="Event Details" showEffect="clip" hideEffect="clip"> 
     <h:panelGrid id="eventDetails" columns="2"> 





     </h:panelGrid> 
    </p:dialog> 

這是支持bean

public class ScheduleController implements Serializable { 

    private ScheduleModel lazyEventModel; 
    @Inject CalculDAO calculdao; 
    @Inject RibhDAO ribhdao; 





    public ScheduleController() { 
     lazyEventModel = new LazyScheduleModel() { 

      @Override 
      public void loadEvents(Date start, Date end) { 
       clear(); 

       for(Calcul str: calculdao.DisplayCalculs()) 

        { 

        Calendar cal = Calendar.getInstance(); 

        Date random1 = getRandomDate1(str.getDate()); 
        Date random2 = getRandomDate2(str.getDate()); 
        addEvent(new DefaultScheduleEvent(""+str.getAjouteroulivr(),random1, random2,str.getAjouteroulivr())); 

        } 

for(Ribh str: ribhdao.DisplayRibh()) 

       {    


       Date random1 = getRandomDate1(str.getDate()); 
       Date random2 = getRandomDate2(str.getDate()); 
       addEvent(new DefaultScheduleEvent("Bénéfices Net du jour = "+str.getNet()+"dinars",random1, random2)); 

       } 
      }  
     }; 
    } 

    public Date getRandomDate1(Date base) { 
     Calendar date = Calendar.getInstance(); 
     date.setTime(base); 


     return date.getTime(); 
    } 

    public Date getRandomDate2(Date base) { 
     Calendar date = Calendar.getInstance(); 
     date.setTime(base); 
     date.add(Calendar.MINUTE, 10);  

     return date.getTime(); 
    } 

    /////  
    public void onEventSelect(SelectEvent selectEvent) 
    { ScheduleEvent event = (ScheduleEvent) selectEvent.getObject(); 

     //event. = (ScheduleEvent) ((SelectEvent) lazyEventModel).getObject(); 

    }  
    //// 

    public ScheduleModel getLazyEventModel() 
    { 
     return lazyEventModel; 
    } 
} 

的問題是,這個代碼利用好工作與primefaces 3.3 JARS但是當我切換到Primefaces 4.0,沒有更多的顯示的事件的顏色和活動成爲一種透明的!這個代碼有什麼問題?

PS:str.getAjouteroulivr()是一個包含它包含「Ajout」或「Livraison」事件

回答

7

我有同樣的問題,並通過使用下面的CSS解決它的一個的styleClass字符串:

.myclass .fc-event, 
.myclass a, 
.myclass .fc-event-inner{ 
    background-color: red; 
    border-color: red; 
    color: white; 
} 

,然後應用的styleClass代碼:

event.setStyleClass("myclass"); 
+0

這適用於我 – maxtorzito

0

找到了附表事件解決方案應用此代碼:

應用這種風格在前端

.event1 .fc-event-inner { 

    background: Red; 
    border-color: Yellow; 
} 

集這種風格類的日程事件

event.setStyleClass("event1"); 
0

在你的main.css

.event1{ 
    background: Red !important; 
    border-color: Yellow !important; 
} 

添加這在h:body添加<h:outputStyleSheet name="main.css" link="css"/>你的xhtml。 然後在你的控制器類中: event.setStyleSheet("event1");

這段代碼在我的項目中正常工作。 試用.......

相關問題