具有内联模式的 Primefaces 日历以错误的方式显示:
代码:
xHTML
<p:tab title="Logs">
<p:panelGrid columns="2" cellpadding="2" styleClass="logsGrid">
<p:accordionPanel id="accordionLogs" styleClass="logsAccordion">
<p:tab title="Log1"></p:tab>
<p:tab title="Log2"></p:tab>
</p:accordionPanel>
<p:calendar value="#{dateBean.date}" mode="inline" styleClass="logsCalendar">
<p:ajax event="dateSelect" listener="#{dateBean.handleDateSelect}" update=":growlMain" />
</p:calendar>
</p:panelGrid>
</p:tab>
班级:
package com.swql.sprint;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import org.primefaces.event.SelectEvent;
@ManagedBean
public class DateBean {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public void handleDateSelect(SelectEvent event) {
Date date = (Date) event.getObject();
FacesMessage msg = null;
SimpleDateFormat format = new SimpleDateFormat("d/M/yyyy");
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Date Picked", format.format(date));
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
如何解决这个问题?
欧元:
已经找出原因: p:panelGrid 以某种方式调整了日历内容的大小。也许解决方法是将日历放入其他容器中。将尝试并报告。
欧元 2:
将日历放入面板并不能解决问题。