0

我正在尝试使用p:schedule,但列标题显示的格式如下:EEE MM/dd我真的需要切换到EEE dd/MM.

研究 primefaces 论坛和谷歌项目,我遇到了这个(和其他几个线程):http ://code.google.com/p/primefaces/issues/detail?id=2546

这似乎解决了这个问题,但我不知道如何使用它来解决这个问题。

我不确定这个问题是否重复(因为这个问题已经存在了几年了),但是搜索 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">

使用素面 3.3.1

4

4 回答 4

0

一个非常粗略的解决方案,我通过劫持计划页面的输出来修复这些标题,更改计划调用的 javascript 代码以便将格式放入其中:

我使用了 Jeremy Stein 编写的类(点击进入问题)(是的,HTML 输出上的正则表达式,bash 上),并放置了一个过滤器来监听带有时间表的特定页面的输出。

我使用了以下模式和替换字符串:

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

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

通过在输出中插入 columnFormat 属性,它开始正确呈现标题。

我很想看到另一种方法来解决 Primefaces 不愿实施此功能的情况。

于 2012-10-30T16:25:48.357 回答
0

我解决了它从primefaces(scheduler.js)破解javascript。只需在您的页面中添加此代码即可编辑日期格式:

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;
     }
};

}

于 2013-10-30T18:23:04.860 回答
0

我通过破解“columnFormat”属性解决了这个问题。

columnFormat="month:'ddd', week:'dd/MM', day:'dd/MM/yyyy'}, titleFormat: {day: 'dddd, dd \'de\' MMMM \'de\' yyyy'"
于 2015-05-17T02:13:31.053 回答
0

使用最新版本的 primefaces,现在已经解决了这个问题。您只需在 p:schedule 标记中添加 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">
于 2016-08-12T08:07:21.323 回答