Power Builder - Cambiar color a un renglon de dw en ejecucion

   
Vista:

Cambiar color a un renglon de dw en ejecucion

Publicado por Leticia (39 intervenciones) el 08/04/2008 21:23:42
Hola amigos foristas, he estado batallando para cambiar el color del renglon o columna en especifico en tiempo de ejecucion para un dw. La situacion es la siguiente:

Tengo un dw donde tengo guardadas las lecturas de examenes de alumnos (los cuales se equivocan en su clave de plantel y la matricula), cargo el archivo, lo inserto en la tabla y le hago retrieve al dw. para esto tengo un boton, en el barro el archivo y hago un insert a la tabla, y de ahi vuelvo a barrer la tabla para q me identifique quien puso mal la matricula o clave de plantel mediante unas comparaciones y quiero q me vaya marcando el renglon q esta mal para q el usuario lo pueda ver y corregir ahi mismo.

Ya he intentado muchas cosas y no puedo cambiar el color de fondo al renglon, a lo mas q llego es cambiarle el color de letra a la columna plantel, pero me cambia toda la columna incluyendo los q estan bien y mal.

Use algunas cosas q encontre aqui en el foro , pero sigo sin poder lograr mi objetivo.
Les escribo las instrucciones q he estado usando :

1.- dw_2.object.plantel.background.color = 255

2.- esta la saque de un ejemplo del foro
//Primero hacemos que el Background Color NO sea Transparent
dw_1.Modify("plantel.Background.Mode='0~tIf(getrow()=currentrow(),0,1)'")

//Luego cambiamos por ejemplo a color rojo
dw_2.Modify("palntel.Background.Color='0~tIf(getrow()=currentrow(),RGB(255,0,0),4)'")

3.- dw_2.Modify("plantel[m].Background.Color=RGB(255,0,0)")
en 'm' voy llevando la cuenta de los renglones

Espero y alguien pueda ayudarme, lo q quiero hacer me evita perdida de tiempo al estar calificando examenes, gracias.
Saludos desde Mexicali, Baja california, México.
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

RE:Cambiar color a un renglon de dw en ejecucion

Publicado por Jorge (900 intervenciones) el 08/04/2008 22:15:39
Hola.

Lo que te sucede es que en nungun lugar esta evaluando
cuandio cambiaras de color...

Mira puedes hacerlo dentro de la misma dw.
en la paint de edicion, >Propiedades, Font
en BackgroundColor clickeas en el cuadrito
al ladio del dropdown y alli escribes la evaluacion para ese campo
Por ejemplo
aqui se avelua un parametro y se cambia el color
si es SI EN u otro
Ye pongo ejemplo usando Uf y usando case con este ultimo
escribes menos y es mas ordenado,.

if( Upper(Trim( articulos_control_stock ))
="SI", RGB(0,150,0 ),
if( Upper(Trim( articulos_control_stock ))
="EN", RGB(241,236,90 ), 255 ))

Case( Upper(Trim( articulos_control_stock))
when Is = "SI" then RGB(0,150,0 )
when Is = "EN" then RGB(241,236,90 ) ELSE 255)

Espero te ayude.

Saludos desde Argentina
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

RE:Cambiar color a un renglon de dw en ejecucion

Publicado por Leticia (39 intervenciones) el 08/04/2008 23:00:17
Gracias Jorge, pero lo q pasa es necesito hacer esto desde ejecucion ya q cuando cargo el archivito ahi obtengo el plantel correcto (en la ventana), mi problema es q si lo hago desde el dw no tengo como comparar el plantel, desde ejecucion si puedo hacerlo. No se si me expliqué???
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

Gracias, ya lo sulucione

Publicado por Leticia (39 intervenciones) el 09/04/2008 18:27:49
Muchas gracias Jorge x tu idea, ya lo solucione de una manera muy sencilla, si no cumple con la condición lo que hago es dw_selectrow(m, true).
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

RE:Gracias, ya lo sulucione

Publicado por Jorge (900 intervenciones) el 09/04/2008 18:40:08
Hola.
Bien dicen mas mañaque fuerza de todas maneras
si el valor de correcto o incorrecto lo puedes almacenar
en un campo podes hacer

String Mod

mod= "codigo.Background.Color='16777215 ~tIf(codigo=~~'41321~~',255,16777215)'"

dw_1.Modify ( "codigo.Background.Mode= '<0 - Opaque, 1 - Transparent>'")
dw_1.Modify ( Mod )

El campo codigo que tenga el valor 41321 se pondra roja...

Espero te sirva
Saludoas desde Argentina
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

RE:Cambiar color a un renglon de dw en ejecucion

Publicado por Alejandro (1 intervención) el 11/09/2008 15:01:40
dw_1.modify( "campo1.background.color='0~tif(campo2 in(1, 2, 3, 4,5,6,7, 8, 9 ),255,0)'")
campo1 = es la columna que se intenta cambiar el color de de fondo
campo2 = es la columna cuya condicion se necesita verificar

Es necesario q lo que cambies sea el campute correspondiente a la propiedad ya que es la unica forma de afectar 1 campo y no la clumna entera.

Perdon por los corta de la explicación pero vi tu comentario en medio del trabajo, cualquier cosa mandame un mail a Aleckii@hotmail.com

pD; es solo un ejemplo, cambiales los colors porque te queda una bandera sino.
Saludos
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