这是我使用primefaces的日历小部件的代码。
<p:column width="100">
<f:facet name="header">
<h:outputText value="Date uploaded" />
</f:facet>
<p:calendar value="#{dets.dttcpuploadprism}" pattern="MM/dd/yyyy" mindate="#{dets.date1}" maxdate="#{dets.systemdate}" readonlyInput="true" size="10" navigator="true" >
<p:ajax event="click" process="@this" partialSubmit="true"
listener="#{Bean.setCompilanceButton}"
update=":showdataForm:cat2 :showdataForm:dataDisplay :growl :error" />
<f:attribute name="index" value="_#{rowIndex}" /> </p:calendar> </p:column >
上面提到的用于hte Ajax事件的支持bean代码是
它没有太多代码。
public void setCompilanceButton(AjaxBehaviorEvent event) {
int index = Integer.parseInt(((String) event.getComponent()
.getAttributes().get("index")).replace("_", ""));
System.out.println("Index:\t" + index);
if (list!= null) {
selectedModel = list.get(index);
}
if (selectedModel != null) {
if (selectedModel.getDtcompilanceappr() != null
&& selectedModel.getDttcpuploadprism() == null) {
slcomp= "DisApprove";
}
}
}
问题:
有date1,date2&amp; date3在数据表中。 提供date1后,date2应为date2&gt; = date1和date2&lt; = systemdate。 因此,我提供了mindate =“#{dets.date1}”maxdate =“#{dets.systemdate}”。
我的问题是,如果我提供date1的当前月份日期,则日历小部件显示date1到当前系统日期。
但是,如果我选择date1作为上个月说“feb'14”中的任何日期,日历就不会刷新日历小部件中的月份日期。
请找到下面提供的屏幕截图
尽管如此,我已将date1提供为02/15/2014,启用日历窗口小部件的下一个日期正确显示了行军日期。但是当我在下拉列表中选择feb月份时,日期不会刷新。
如何解决这个问题?它是小部件本身的问题吗?请指教。