Sunday, June 15, 2014

Obtener el número de fila de un datatable en primefaces

Usar la propiedad   rowIndexVar="rowIndex" de datatable

    <p:dataTable id="datatableImpuestos"
                                    rows="10"
                                    value="#{pagosfijosSearchController.listRecibosdetalles}"
                                    rowIndexVar="rowIndex"
                                    var="item"
                                    paginator="true"
                                    rowKey="#{item.idnivel6}"
                                    selectionMode="single"
                                    emptyMessage="#{app['info.notienedeudapendiente']}"

                                    selection="#{pagosfijosSearchController.selected}"
                                    filteredValue="#{pagosfijosSearchController.filtered}"
                                    editable="true" editMode="cell"
                                    >

CommandLink pasamos como parametro
<p:fragment autoUpdate="true">
                                   <p:commandLink update=":form"
                                                  value="#{item.idnivel6.idnivel6}"
                                                  action="#{pagosfijosSearchController.mostrarImpuestosPagar(rowIndex)}"
                                                  oncomplete= "PF('detallerecibosComponentDialogVar').show()"                                                         
                                                  title="#{app['boton.detalle']}"
                                                  rendered="#{menuBeans.pagos.consultar}"
                                                  >

                                       <f:setPropertyActionListener value="#{item}" target="#{pagosfijosSearchController.selected}" />  
                                   </p:commandLink>  

                               </p:fragment>


En el método definimos un parámetro de tipo Integer que contendra el numero de fila.
public String mostrarImpuestosPagar(Integer row){
       fila = row;
       
       encontarImpuesto();
       varexoneracion = selected.getExoneracion();
       varpago = selected.getPago();
       varsaldo = selected.getSaldo();
       return null;
       

   }

No comments: