Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2018, 07:34
maialenlopez
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Mostrar 5 campos o no individualmente

Hola,

Necesito vuestra ayuda ya que estoy saturada y no me viene ninguna idea.

Os comento, tengo una tabla que se muestra en una pantalla, dentro de esta tabla vienen muchos datos divididos en columnas pero solo 5 de ellos me están dando el "dolor de cabeza".
Estos 5 datos los muestro dependiendo de lo que se me devuelva en un método.
Los 5 campos están mostrados como este que os indico aquí:
Código jsf 1.2:
Ver original
  1. <rich:column id="datoSum" style="text-align:right"
  2.     rendered="#{datoService.mostrarDatoSum()}">
  3.     <f:facet name="header" >
  4.         <h:outputText value="#{messages['dato.sum.pantalla']}"
  5.             escape="false" style="white-space:pre-line;"
  6.             title="#{messages['dato.sum.pantalla.export']}"/>
  7.     </f:facet>
  8.     <h:outputText value="#{detail.datoSum}">
  9.         <f:convertNumber pattern="#{messages['formatter.amount']}"
  10.             locale="es_ES" />
  11.     </h:outputText>
  12. </rich:column>

dependiendo de lo que devuelva "rendered="#{datoService.mostrarDatoSum()}">" se pinta o no la columna.

El método mostrarDatoSum lo había implementado de esta forma, pero me he dado cuenta que si alguno de ellos no es de valor 0 me pintaría todos los campos.
Código Java:
Ver original
  1. public boolean mostrarDatoSum() {
  2.     if (mostrarDatoSum == null) {
  3.         boolean mostrar = true;
  4.         for (Calculo cal : getCalculo()) {
  5.             if (((cal.datoSum().compareTo(BigDecimal.ZERO) == 0)
  6.                             && (cal.dato2Sum().compareTo(BigDecimal.ZERO) == 0))
  7.             && (cal.dato3Sum().compareTo(BigDecimal.ZERO) == 0)
  8.                         && (cal.dato4Sum().compareTo(BigDecimal.ZERO) == 0)
  9.             && (cal.dato5Sum().compareTo(BigDecimal.ZERO) == 0)){
  10.                     mostrar = false;
  11.             }
  12.         }
  13.         mostrarDatoSum = mostrar;
  14.     }
  15.     return mostrarDatoSum;
  16. }

Se le ocurre a alguien como podría hacer cambiando únicamente la parte java, que muestre solo los que no tienen valor a 0?

__________________
Gracias por todo;

Un saludo