Javascript在素数面的数据表中排序后丢失

Javascript lost after sort in datatable of primefaces

本文关键字:排序 数据表 Javascript      更新时间:2024-02-25

我的素数面表,如下所示:

                              <p:dataTable id="creditos" ajax="false" paginator="true" value="#{listaCreditos.proyectList}" var="cc" resizable="false" styleClass="dataTableSelProject" rows="20" width="99%" cellspacing="10" cellpadding="10" rowsPerPageTemplate="20,40,80" rowIndexVar="rowIndex">
                                   <p:column styleClass="borderCell imgColumnOnLoans">
                                        <div id="imagenCol-loans#{cc.proyectloanPk.proyect_loan_id}" class="imgCol-Loans">
                                             <h:graphicImage styleClass="graphImage" url="..#{cc.proyect.image}" /> 
                                        </div>
                                   </p:column> 
                                   <p:column id="colNameTag"  sortBy="#{cc.proyect.name}" rendered="true" styleClass="borderCell proyectTitle" headerText="Categoría / Título">
                                        <div id="yui-gen62" class="yui-dt-liner proyectDetailOnLink">
                                            <div id="yui-gen66" class="titleAndPurposeDiv">
                                                <strong id="yui-gen65" class="browseNotesStrong breakWord">
                                                        <span  id="yui-gen64" class="expand-loan-details pDLink">
                                                            <p:commandLink id="cmdLinkDetail" value="#{cc.proyect.purpose.name}" actionListener="#{summaryRequest.mapeoDatos}" action="resumen">
                                                                <f:attribute name="proyectAtrr" value="#{cc.proyectloanPk.proyect_loan_id}::#{cc.proyectloanPk.proyect_id}::#{cc.proyectloanPk.prospectus_id}::#{cc.proyectloanPk.company_id}" />
                                                            </p:commandLink>
                                                        </span>
                                                </strong>
                                                <div id="proyectNameTag">
                                                    <span id="yui-gen211" >
                                                            #{cc.proyect.name}
                                                    </span>
                                                </div>
                                            </div>
                                        </div>
                                   </p:column>

                                   <p:column sortBy="#{cc.ammount}" styleClass="borderCell" >
                                        <f:facet id="headerB" name="header" align="center">
                                               Monto/&nbsp;<br /> Tasa
                                        </f:facet>
                                            <div align="center" id="yui-gen130" class="yui-dt-liner">
                                                <div align="center" id="yui-gen209" class="timeDisplay">
                                                    <h:outputText value="#{cc.ammount}">
                                                         <f:convertNumber currencySymbol="$" type="currency" groupingUsed="true" locale="es_MX"/>
                                                    </h:outputText>
                                                </div>
                                                <strong id="yui-gen137" class="rate"> &nbsp;&nbsp;&nbsp;#{cc.rate}%</strong>
                                            </div>      
                                   </p:column> 
                                   <p:column   styleClass="borderCell" sortBy="#{cc.term.months}">
                                        <f:facet name="header" id="headerC">
                                               Plazo&nbsp;&nbsp;
                                        </f:facet>
                                            <div class="termForProyect" id="yui-gen163">
                                                <span id="yui-gen162" class="loanTypeAndLength">#{cc.term.months} meses</span>
                                            </div>      
                                    </p:column>

一些列。.

                                </p:dataTable>

但是在普通排序之后,我的javascript代码不起作用,当使用commandButton时,我使用onComplete标记并对JS的一些函数执行"刷新",我如何在排序上做到这一点???

这是JS代码,只需加载一个fancybox即可通过commandButton调用fancybox:

function setFancyBox(){
    $("a#ifancybox").fancybox({
         'width' : 500,
         'height' : 330,
         'autoScale': false,
         'autoDimensions': false,
         'transitionIn' : 'elastic',
         'transitionOut' : 'elastic',
         'type' : 'inline',
         'overlayColor':'#E8E8E8'
    });
    $("#creditos tr:odd").addClass('par');
    $.fancybox.resize();
}

这是"重新加载"JS函数并使其保持活力的代码。

<p:ajax update="creditOfAccount , actualAccount , creditos , :forminfo:cuentasUsr2 , :forminfo:addBtn1 , :forminfo:tagFromAccount2" oncomplete="setFancyBox();"/>

但问题是?当我点击默认类型的素数时,我如何才能完成"oncomplete"?

primefaces数据表提供了几个ajax行为事件。您需要使用"排序"事件。查看primefaces用户指南,第141页,了解其他受支持的ajax事件。

<p:ajax event="sort" update="creditOfAccount actualAccount creditos :forminfo:cuentasUsr2 :forminfo:addBtn1 :forminfo:tagFromAccount2" oncomplete="setFancyBox();"/>