Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Mostrar 5 campos o no individualmente

Estas en el tema de Mostrar 5 campos o no individualmente en el foro de Java en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 25/07/2018, 07:34
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 7 meses
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
  #2 (permalink)  
Antiguo 25/07/2018, 09:43
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: Mostrar 5 campos o no individualmente

Sugiero no asignar hacia mostrarDatoaSum.
Haz

return mostrar;

Solamente.

Tal vez te conviene definir la variable mostrar afuera del if inicial y darle el valor por defecto que conviene para ese caso.
__________________
Visita mi perfil en LinkedIn
  #3 (permalink)  
Antiguo 26/07/2018, 01:00
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 7 meses
Puntos: 7
Respuesta: Mostrar 5 campos o no individualmente

Cita:
Iniciado por CalgaryCorpus Ver Mensaje
Sugiero no asignar hacia mostrarDatoaSum.
Haz

return mostrar;

Solamente.

Tal vez te conviene definir la variable mostrar afuera del if inicial y darle el valor por defecto que conviene para ese caso.
Hola, gracias por contestar.

Así es como lo tenia al principio pero me dijeron que tardaba mucho en pintar la tabla ya que puede haber muchos registros en ella y muchas personas consultándola (con diferentes datos).
__________________
Gracias por todo;

Un saludo

Etiquetas: campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:35.