Power Builder - Cómo pintar una fila de un DW segun variable

   
Vista:

Cómo pintar una fila de un DW segun variable

Publicado por Francisco (1 intervención) el 06/05/2011 00:59:51
Hola comunidad,

un favor, tengo problemas con un datawidow en el cual quiero pintar toda una fila de un color diferente siempre que el valor de una variable se encuentre dentro del rango definido por dos campos.

Me explico:
los campos son: val_min (decimal), val_max(decimal), descripcion (varchar)
por la ventana ingresa un valor a una variable de nombre "valor" y este debe estar dentro del rango de val_min, val_max
segun sea el caso la variable "valor" debe encontrar su ubicación y resaltar el registro

intenté probar esto con la función Modify() pero no me resulta o quizas la sintaxis no sea la correcta,
es mas esto solo me cambiaria de color un solo campo, recuerda que se desea marcar toda la fila.

dw_1.Modify("descripcion.Color='0~tIf(val_min>="+valor+" and "+valor+"<=val_max,255,0)'") ?????

espero me puedan ayudar, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cómo pintar una fila de un DW segun variable

Publicado por JeinnerH jhidalgo@excelteccr.com (638 intervenciones) el 06/05/2011 01:34:16
Lo puedes hacer utilizando las expresiones de cada campo y al cumplirse la condición le cambias el color de fondo, directamente desde el DW.

La otra opción sería utilizar un objeto rectángulo que abarque como fondo todas las columnas del detalle, y le asignas una expresión para que se active con el color que quieras una vez que se cumpla la condición que necesitas.

El rectángulo lo envias al fondo y le pones transparente al color de fondo de los campos.

Prueba utilizando el RGB en el modify.
dw_1.Modify("descripcion.BackGroud.Color='0~tIf(val_min>="+valor+" and "+valor+"<=val_max,RGB(255, 255, 255), RGB(0,0,0))'")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar