0
votes

I use jsf 2.2 and Primefaces 4.0 in my project. but I faced a problem . After Filter Primefaces Datatable. I want to show the filtered Row ditails in a dialog but after filter, Row ditails not show dialog box . Even Until Reload the page don't show Row Details in the dialog box . My Jsf Code Is ..........

 <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>  
1
Start by showing the dialog on the oncomplete event and not onclickKukeltje
Thanks Kukeltje . But I used oncomplete but result same .If You want I give you My full Jsf Page And Bean ?Shihab
Please Help me KukeltjeShihab

1 Answers

0
votes

I Solved it by this code write in p:dataTable tag ....

filteredValue="#{allRequestDetailsBean.filteredRequest}"

and also create a list in allRequestDetailsBean

private List<AllRequestBean> filteredRequest;