过滤 Primefaces 数据表后不在对话框中显示过滤行详细信息

After Filtering Primefaces Datatable not show The Filtered Row Details in a dialog box

我在我的项目中使用 jsf 2.2 和 Primefaces 4.0。但我遇到了一个问题。过滤 Primefaces 数据表后。我想在对话框中显示过滤后的行细节,但过滤后,行细节不显示对话框。即使直到重新加载页面也不会在对话框中显示行详细信息。我的 Jsf 代码是.........

 <h:form id="Form_showRequest" style="font-size: 10pt;">
                        <input type="text" id="search" placeholder="Search now..."></input>

                    <p:growl id="MSG_grl" autoUpdate="false" showDetail="true"/>
                    <p:dataTable id="TBL_data"  var="List_request" value="#{allRequestBean.requestDetailsList}" scrollable="true" widgetVar="reTab"
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                 scrollHeight=" 460" style="font-size: 10pt; font-family: serif;margin-bottom:0;">

                        <p:column headerText="Mobile No"  style="width: 80px;" filterBy="#{List_request.mobileNumber}" >
                            #{List_request.mobileNumber}
                        </p:column>
                        <p:column headerText="User Name"  style="width: 80px;">
                            #{List_request.userName}
                        </p:column>
                        <p:column headerText="Amount"  style="width: 50px;">
                            #{List_request.rechargeAmount}
                        </p:column>
                        <p:column headerText="Cost"  style="width: 50px;">
                            #{List_request.costAmount}
                        </p:column>

                        <p:column headerText="Service"  style="width: 100px;">
                            #{List_request.serviceName}
                        </p:column>
                        <p:column headerText="Bank "  style="width: 50px;">
                            #{List_request.bankName}
                        </p:column>
                        <p:column headerText="Bank Tran Id"  style="width: 100px;">
                            #{List_request.bankTrankId}
                        </p:column>                  
                        <p:column headerText="Date Time"  style="width: 150px;" >
                            #{List_request.rechargeDate}
                        </p:column>   

                        <p:column headerText="Conformation Id" style="width: 100px;">
                            #{List_request.conformationId}
                        </p:column>
                        <p:column headerText="Status" style="width: 80px;">
                            <h:outputText value="#{List_request.rechargeStatusName}"/>
                        </p:column>
                        <p:column id="op" headerText="Option" style="width: 100px">
                            <p:commandButton id="but" value="Action" action="#{actionBean.allReRowDetails()}"
                                             update=":Form_showRequest:PNL_action" style=" font-size: 10px" onclick="PF('widget_action').show();"
                                             ajax="true" disabled="#{List_request.rechargeStatusId eq 4 or List_request.rechargeStatusId eq 5}">

                                <f:setPropertyActionListener value="#{List_request}" target="#{actionBean.allRequestBeanValue}"/>  

                            </p:commandButton>

                            <p:commandLink id="requestDetails" value="Details" action="#{allRequestDetailsBean.rowDetails()}" 
                                           update=":Form_showRequest:PNL_request" oncomplete="PF('widget_request').show();" ajax="true" >
                                <f:setPropertyActionListener value="#{List_request}" target="#{allRequestDetailsBean.allRequestBeanValue}" /> 
                            </p:commandLink> 
                        </p:column>
                    </p:dataTable>

                    <p:dialog id="Dialog_acton" header="Action" widgetVar="widget_action" modal="true">          
                        <h:panelGrid id="PNL_action" style="margin-bottom:10px; width: 300px;" cellpadding="10">  
                            <p:selectOneRadio id="action" columns="1" value="#{actionBean.actionType}">
                                <f:selectItem itemLabel="Resend" itemValue="1" />
                                <f:selectItem itemLabel="Complete" itemValue="4" />             
                                <f:selectItem itemLabel="Cancel" itemValue="5" />

                            </p:selectOneRadio><br/>
                            <p:outputLabel value="Reason" style="width:20px; "/>
                            <p:inputTextarea value="#{actionBean.confirmId}" style="width: 250px" />
                        </h:panelGrid>
                        <p:commandButton value="Ok" action="#{actionBean.action()}" update="Form_showRequest:TBL_data,MSG_grl"
                                         oncomplete="widget_action.hide()" style="width: 200px; margin-left: 50px;"/>
                    </p:dialog> 
                    <p:dialog id="Dialog_request" header="Request Details Information" widgetVar="widget_request" showEffect="clip" hideEffect="fold" resizable="false" >  
                        <p:panelGrid id="PNL_request"  columns="2" style="width: 450px" >
                            <p:outputLabel value="Recharge Id :"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.rechargeId}"/> 
                            <p:outputLabel value="User Name:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.userName}"/> 
                            <p:outputLabel value="Mobile Number :"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.mobileNumber}"/> 
                            <p:outputLabel value="Recharge Amount:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.rechargeAmount}"/> 
                            <p:outputLabel value="Cost :"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.costAmount}"/> 
                            <p:outputLabel value="Number Type:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.numberType}"/>
                            <p:outputLabel value="Operator :"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.operatorName}"/> 
                            <p:outputLabel value="Service :"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.serviceName}"/>
                            <p:outputLabel value="Bank Nmae:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.bankName}"/> 
                            <p:outputLabel value="Bank Transaction Id:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.bankTrankId}"/> 
                            <p:outputLabel value="Ip Address:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.ipAddress}"/> 
                            <p:outputLabel value="Time:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.rechargeDate}"/> 
                            <p:outputLabel value="Invoice No:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.invoiceNo}"/> 
                            <p:outputLabel value="Conformation Id:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.conformationId}"/> 
                            <p:outputLabel value="Status:"/>
                            <p:outputLabel value=" #{allRequestDetailsBean.rechargeStatusName}"/> 
                        </p:panelGrid>
                    </p:dialog> 
                </h:form>  

我通过写在p:dataTable标签中的这段代码解决了这个问题....

filteredValue="#{allRequestDetailsBean.filteredRequest}"

并在 allRequestDetailsBean 中创建一个列表

private List<AllRequestBean> filteredRequest;