2015-04-30 2 views
0

Я использую компонент планирования прайс-листа в своем приложении, и я обнаружил странное поведение. Когда я выбираю событие и нажимаю кнопку «Сохранить», время сбрасывается до 12 часов. После долгого исследования, перейдите на страницу «Поверхности», чтобы получить дополнительную информацию. В витрине поведение расписания одинаков. В Графическом редакторе Пример http://www.primefaces.org/showcase/ui/data/schedule.xhtml, например, выберите событие с названием «Match League Match», дата которого - 28/04/2015, а час - с 8:00 до 11:00 и нажмите кнопку «Сохранить». Он автоматически меняет час до 12 часов. Это нормальное поведение ?????Графики Графики Графики Ошибка, сохранение события автоматически меняет час на 12am

Спасибо.

EDITED: Я добавлю код, который у меня есть в моем приложении, то же самое или очень похоже на витрину.

Создание события:

eventModel.addEvent(new DefaultScheduleEvent("Champions League Match", previousDay8Pm(), previousDay11Pm())); 

Методы установить временные рамки:

private Date previousDay8Pm() { 
    Calendar t = (Calendar) today().clone(); 
    t.set(Calendar.AM_PM, Calendar.PM); 
    t.set(Calendar.DATE, t.get(Calendar.DATE) - 1); 
    t.set(Calendar.HOUR, 8); 

    return t.getTime(); 
} 

private Date previousDay11Pm() { 
    Calendar t = (Calendar) today().clone(); 
    t.set(Calendar.AM_PM, Calendar.PM); 
    t.set(Calendar.DATE, t.get(Calendar.DATE) - 1); 
    t.set(Calendar.HOUR, 11); 

    return t.getTime(); 
} 

метод Add, который вызывается, когда нажать кнопку «Сохранить» (только я пытаюсь изменить фон событий до красного цвета, с setStyleClass):

public void addEvent(ActionEvent actionEvent) { 
    event.setStyleClass("emp1"); 
    eventModel.updateEvent(event);   
    event = new DefaultScheduleEvent(); 
} 

ответ

0

Потому что это просто пример.

Добавить ввод текст с селектором времени и добавить событие на конкретном, При создании события указать временные рамки, как:

eventModel.addEvent(new DefaultScheduleEvent("Birthday Party", today1Pm(),todat6Pm()); 

где

private Date today1Pm() { 
      Calendar t = (Calendar) today().clone(); 
      t.set(Calendar.AM_PM, Calendar.PM); 
      t.set(Calendar.HOUR, 1); 

      return t.getTime(); 
     } 

     private Date today6Pm() { 
      Calendar t = (Calendar) today().clone(); 
      t.set(Calendar.AM_PM, Calendar.PM); 
      t.set(Calendar.HOUR, 6); 

      return t.getTime(); 
     } 

Что касается витрины да вам нужно некоторое обновление, чтобы достичь это :)

Поведение витрины, если вы не определяете какой-либо временной интервал и не устанавливаете AllDay событие проверки добавляется как eventModel.addEvent(event);, который устанавливает время по умолчанию 12am и да, это нормально!

Update

Используйте этот метод для добавления нового события, начальное время/EndTime ваше поле, которое устанавливается с помощью формы. Я также вставляю подпись конструктора по умолчанию с помощью фрагмента.

public void addEvent(ActionEvent actionEvent) { 
    if(event.getId() == null) 
     //DefaultScheduleEvent(String title, Date start, Date end, String styleClass) ; 
     eventModel.addEvent(new DefaultScheduleEvent(actionEvent.Title(), calculateTime(startTime), calculateTime(endTime),"emp1")); 
    else 
     eventModel.updateEvent(event); 
} 
+0

Привет @Sarz, спасибо за ваш ответ, но у меня есть этот код в моем приложении (такой же или аналогичный код, который Showcase): 'eventModel.addEvent (новый DefaultScheduleEvent ("Лига Чемпионов Матч", previousDay8Pm() , previousDay11Pm())); ' Метод previousDay8Pm(). ' частная Дата previousDay8Pm() { \t Календарь т = (Календарь) сегодня() клон(); \t t.set (Calendar.AM_PM, Calendar.PM); \t t.set (Calendar.DATE, t.get (Calendar.DATE) - 1); \t t.set (Calendar.HOUR, 8); \t return t.getTime(); \t} ' Я определил временные рамки события при создании.Я обновлю свой первый пост. – Levid

+0

Привет @Sarz, он решен !!! Моя проблема заключалась в том, что p: inputmask/f: convertdatetime в xhtml показывает только день, месяц и год. Я думал, что хотя шаблон был dd/MM/yyyy, час был сохранен. Я добавляю 99/99/9999 99:99 к inputmask и dd/MM/yyyy HH: mm to convertdatetime. Возможно, я ограничу использование outputtext, потому что я не хочу изменять данные событий. Метод addEvent обновляется только потому, что идея предварительно загружает список событий и меняет цвет при выборе/сохранении (я только реализовал метод onEventSelect, чтобы ограничить выбор дня). Благодарим за помощь! – Levid

Смежные вопросы