0

我有两个日历控件和一个命令按钮。基本上我想给出一个日期范围来从数据库中选择数据,然后当我按下命令按钮时,数据表显示在对话框中,问题是 java bean 类正在工作它正在加载我想要的确切数据,但是数据表没有用命令按钮刷新,点击我的代码;

<h:form id="form" >        
    <p:calendar value="#{calendarBean.dateFrom}" id="calFrom" pattern="yyyy-mm-dd">  
        <p:ajax event="dateSelect" listener="#{calendarBean.handleDateSelectFrom}" />  
    </p:calendar>  
    <p:calendar value="#{calendarBean.dateTo}"  id="calTo" pattern="yyyy-mm-dd">  
        <p:ajax event="dateSelect"  listener="#{calendarBean.handleDateSelectTo}" />  
    </p:calendar>  
    <p:commandButton value="Submit" action="#{calendarBean.submit()}" update="fTable" onclick="aDlg.show()">
        <f:ajax render=":form:fTable" execute="@form"></f:ajax>
    </p:commandButton>

    <p:dialog id="aDialog" header="Filter List" widgetVar="aDlg"
                            modal="true" showEffect="explode"
                            hideEffect="explode" >                                      
    <p:panel id="pnl">
        <p:dataTable id="fTable" value="#{calenderBean.list}" var="row" >
            <p:column headerText="ID">
                <h:outputText value="#{row.ID}"/>
            </p:column>
            <p:column headerText="Name">
                <h:outputText value="#{row.Name}"/>
            </p:column>
            <p:column headerText="Time">
                <h:outputText value="#{row.Time}"/>
            </p:column>
            <p:column headerText="User">
                <h:outputText value="#{row.userName}"/>
            </p:column>
        </p:dataTable>
        </p:panel>                  
    </p:dialog>
</h:form>

请就这个问题指导我

4

2 回答 2

0

请尝试更新对话框。更新="fTable"

于 2013-07-02T16:08:30.953 回答
0

首先要做的是删除f:ajax,它不适用于 Primefaces。该update属性也应该做所有事情。
这就是说,我的代码与您的代码完全相同,运行良好。
如果删除f:ajax不起作用,请尝试检查您的托管 bean 范围(可能是请求范围,并且每次请求都会重新初始化数据)

于 2013-07-02T16:11:25.083 回答