我在Primefaces上的表格,如下:
<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/ <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"> #{cc.rate}%</strong>
</div>
</p:column>
<p:column styleClass="borderCell" sortBy="#{cc.term.months}">
<f:facet name="header" id="headerC">
Plazo
</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”?
答案 0 :(得分:0)
primefaces datatable提供了几个ajax行为事件。你需要使用&#39; sort&#39;事件。查看primefaces用户指南,第141页,了解支持的其他ajax事件。
<p:ajax event="sort" update="creditOfAccount actualAccount creditos :forminfo:cuentasUsr2 :forminfo:addBtn1 :forminfo:tagFromAccount2" oncomplete="setFancyBox();"/>