选择不同的月份</p:calendar>时,不会刷新JSF <p:calendar>小部件

时间:2014-03-04 09:47:38

标签: java jsf primefaces calendar

这是我使用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”中的任何日期,日历就不会刷新日历小部件中的月份日期。

请找到下面提供的屏幕截图 enter image description here

尽管如此,我已将date1提供为02/15/2014,启用日历窗口小部件的下一个日期正确显示了行军日期。但是当我在下拉列表中选择feb月份时,日期不会刷新。
如何解决这个问题?它是小部件本身的问题吗?请指教。

0 个答案:

没有答案