数据表没有用ajax刷新

时间:2013-07-02 14:45:32

标签: ajax jsf-2 primefaces

我有两个日历控件和一个命令按钮。基本上我想给出一个日期范围来从数据库中选择数据然后当我按下命令按钮时数据表显示在对话框中,问题是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>

请指导我这个问题

2 个答案:

答案 0 :(得分:0)

尝试更新对话框。     更新= “fTable”

答案 1 :(得分:0)

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