2012-10-26 2 views
0

p:schedule을 사용하려하지만 열 머리글은 EEE MM/dd과 같은 형식으로 표시되며 실제로는 EEE dd/MM으로 전환해야합니다.Primefaces Schedule - 열 머리글 서식 지정 방법

primefaces 포럼과 구글의 프로젝트를 연구, 난이 우연히 (그리고 몇 가지 다른 스레드) : http://code.google.com/p/primefaces/issues/detail?id=2546 문제를 해결하기 위해 보이지만이 문제를 해결하기 위해 그것을 사용하는 방법에 대한 우둔입니다

.

이 질문에 대한 답변이 확실하지 않으니까요 (문제가 2 년 전부터 남아 있었기 때문에). 그렇지만 SO 검색은 어떤 조회수와도 일치하지 않았습니다.

그럼 어떻게 열 머리글의 형식을 변경할 수 있습니까?

내가 내 프로젝트에 쇼케이스 예를 수입, 내 일정 이벤트의 지금까지의 설정은 다음과 같습니다

<p:schedule value="#{scheduleController.eventModel}" 
widgetVar="myschedule" view="agendaWeek"  allDaySlot="false" 
slotMinutes="15" firstHour="7" showWeekends="FALSE" 
leftHeaderTemplate="prev,next" rightHeaderTemplate="" 
minTime="7am" maxTime="21pm" timeFormat="dd/MM hh:mm" 
axisFormat="HH"> 

사용 primefaces 3.3.1

+0

하나의 방법 밖으로 shedule.js가 primefaces 패키지에 파일을 하드 편집하는 것입니다,하지만 당신을 JAR을 깰 수 있습니다. http://forum.primefaces.org/viewtopic.php?f=3&t=25552 - 받아 들일 수는 없지만, primefaces 친구들은 신경 쓰지 않는 것 같습니다. – Mindwin

답변

0

매우 원액, 나는 납치하여이 헤더를 고정 일정 페이지의 출력, 형식을 넣으려면 일정 호출에 대한 자바 스크립트 코드를 변경 :

Jeremy Stein (click to go to question) (예, 정규식 HTML 출력, bash는 켜기)로 작성된 클래스를 사용하고 필터를 배치했습니다. 듣기 일정과 함께 특정 페이지의 utput.

나는 다음과 같은 패턴을 사용하고 문자열 바꾸기 :

Pattern. compile("timeFormat:(.*?), behaviors"); 

replaceString= "timeFormat: $1, columnFormat : { month : 'ddd' , week : 'ddd d/M' , day : 'dddd d/M' }, behaviors" 

를 출력에 columnFormat 속성을 삽입하여, 그것은 바로 헤더를 렌더링하기 시작했다.

이 기능을 구현할 때 Primefaces를 꺼리는 방법을보고 싶습니다.

+1

나는 어떤 종류의 잔학 행위를 저지르고 있다는 느낌을 떨쳐 낼 수 없다 ... 그러나 어쩌면 그 주간의 기분 나쁜 오라 일 수도있다. – Mindwin

+0

오늘 p : schedule의 Extender 특성을 사용하여 구성을 확장 할 수 있습니다. – user993553

+0

@ user993553이 "라이브"API의 경우에는 진화해야합니다. Q & A는 게시 당시 현실의 스냅 사진으로 남아 있습니다. 다행히이 두 가지를 고칠 수 있습니다. – Mindwin

0

나는 primefaces (scheduler.js)에서 자바 스크립트를 해킹하여 해결했습니다. 그냥 날짜 형식을 편집 할 페이지에이 코드를 추가

if (PrimeFaces.widget.Schedule != undefined) { 
PrimeFaces.widget.Schedule.prototype.init = function() { 
    this.cfg.titleFormat = { 
      month: 'MMMM yyyy', 
      week: "De d MMM [ yyyy]{ 'à' d [ MMM] 'de' yyyy}", 
      day: 'dddd, d MMM , yyyy' 
    };   
    this.cfg.columnFormat = { 
      month: 'ddd', 
      week: 'ddd d/M', 
      day: 'dddd M/d' 
    }; 
    if(this.jq.is(':visible')) { 
     this.jqc.fullCalendar(this.cfg); 
     return true; 
    } else { 
     return false; 
    } 
}; 

}

0

는 내가 "columnFormat"속성을 해킹하여이 문제를 해결했다.

columnFormat="month:'ddd', week:'dd/MM', day:'dd/MM/yyyy'}, titleFormat: {day: 'dddd, dd \'de\' MMMM \'de\' yyyy'" 
0

이제 primefaces의 마지막 버전으로이 문제가 해결되었습니다. 일정 태그 아래와 같이 : 당신은 방금 페이지에 columnFormat = "DDD의 D/M"을 추가해야

<p:schedule value="#{scheduleController.eventModel}" 
widgetVar="myschedule" view="agendaWeek"  allDaySlot="false" 
slotMinutes="15" firstHour="7" showWeekends="FALSE" 
leftHeaderTemplate="prev,next" rightHeaderTemplate="" 
minTime="7am" maxTime="21pm" timeFormat="dd/MM hh:mm" 
axisFormat="HH" columnFormat="ddd D/M"> 
+0

미래는 대단한 것 아닌가요? 그리고 벌레 표. XD – Mindwin