2012-07-05 65 views
2

我有一个搜索条件来从两个不同的日期之间从数据库中获取细节。重新渲染丰富:日历不是第一次工作,但在页面刷新工作

我有一个h:slectOneMenu填充列表{“从”,“到”,“之间”}。对于“从”和“到”日期,我必须显示一个富有的日历输入日期和“之间”我必须显示两个富:日历输入开始日期和结束日期。

我的代码是这样的

<h:selectOneMenu id="startdate" 
     value="#{commoncontroller.coverDateType}"> 
     <a4j:support event="onchange" ajaxSingle="true"  
        action="#controller.dateSelectionChanged}" 
        reRender="startdateone,startdatetwo"/> 
      <f:selectItems value="#{controller.startDateMap}" /> 
    </h:selectOneMenu> 

    <h:panelGrid id="startdateone" layout="block" rendered="#{controller.dateOneStatus}"> 
      <rich:calendar id="date1"        value="#{controller.covStartDate}" showWeeksBar="false" /> 
    </h:panelGrid> 

    <h:panelGrid id="startdatetwo" layout="block" rendered="#{controller.dateTwoStatus}"> 
      <rich:calendar id="date2"        value="#{controller.covStartDate2}" showWeeksBar="false" /> 
    </h:panelGrid> 

如果我选择从选择菜单中的日历不会渲染,即使该panelGrid的rendered属性被设置为true,在后端,但如果我刷新一次任意值然后页面呈现。

任何帮助,非常感谢。

回答

0

直接说rereendering组件rendered属性有一个问题,当我直接说你刚刚在你的代码中做了什么。尝试使用父级组件包装您的两个面板网格,如a4j:outputPanelreRender即a4j:outputPanel使用其ID。

像这样:

<h:selectOneMenu id="startdate" 
     value="#{commoncontroller.coverDateType}"> 
     <a4j:support event="onchange" ajaxSingle="true"  
        action="#controller.dateSelectionChanged}" 
        reRender="box"/> 
      <f:selectItems value="#{controller.startDateMap}" /> 
    </h:selectOneMenu> 

<a4j:outputPanel id="box"> 
    <h:panelGrid id="startdateone" layout="block" rendered="#{controller.dateOneStatus}"> 
      <rich:calendar id="date1"        value="#{controller.covStartDate}" showWeeksBar="false" /> 
    </h:panelGrid> 

    <h:panelGrid id="startdatetwo" layout="block" rendered="#{controller.dateTwoStatus}"> 
      <rich:calendar id="date2"        value="#{controller.covStartDate2}" showWeeksBar="false" /> 
    </h:panelGrid> 

</a4j:outputPanel> 

希望这有助于。 -cheers

+0

谢谢你的回复Ellie。是的,我只是在早些时候这样做,但要求尽可能不使用richFaces组件。所以试过这种方式。但通过使用panelGrid的条件CSS成功。 > 2012-07-15 16:14:25

+0

恭喜然后:) – 2012-07-16 03:08:30

相关问题