Power Builder - DataWindows

 
Vista:

DataWindows

Publicado por Raquel (17 intervenciones) el 20/11/2002 09:52:07
A ver si me se explicar, el problema que tengo es que cuando en un ventana que hay un datawindow, al ir pasando por los campos de la datawindow, estos quedan marcados con el fondo negro, mi pregunta es como puedo cambiar el fondo de la seleccion del campo??

Muchas gracias por la ayuda.
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:DataWindows

Publicado por milson cardona (613 intervenciones) el 20/11/2002 14:21:41
Un saludo especial desde COLOMBIA

con la propiedad BACKGROUND.COLOR = RGB(r,g,b) del campo del datawindow le puedes cambiar el color del fondo...

pero lo ideal no es volverle a cambiar el fondo al campo, sino evitar que el este se ponga negro, ¿definitivamente necesitas que el fondo cambie a negro cuando seleccionas el campo?,¿Ya sabes porque sucede esto?, ¿tienen solución o no?....

te cuento que esto suele pasar y es normal cuando tienes algunos campos o todo el DW protegido(s) y luego utilizas la función SELECTROW.... te digo que es normal porque es la forma que tiene PB destacar el campo que tiene el control.

espero que te sirva de algo
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:DataWindows

Publicado por Raquel (17 intervenciones) el 21/11/2002 09:46:24
A ver si me explico bien, lo que necesito y no se como hacerlo es que cuando yo selecciono un campo de la datawindow todo ese campo se me marque de color azul y no negro como ahora, pero el resto de campos quiero que sigan con el fondo del campo en blanco, y otra pregunta a ver si me puedes ayudar, tambien necesito que cada vez que introduzco un valor nuevo en la datawindow este sea el que se me quede seleccionado, con el fondo azul.
Muchas gracias por la ayuda.
Un saludo desde Catalunya.
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:DataWindows

Publicado por Sergio (52 intervenciones) el 21/11/2002 11:27:15
Saludos desde Barcelona,

No entiendo muy bien lo que quieres, pero.... a ver si esto te sirve:

En los eventos clicked y itemfocuschanged pon este codigo
dw_1.SelectRow(0, false)
dw_1.SelectRow(row, TRUE) //row te cogera la fila seleccionada.

con este codigo conseguiras seleccionar toda la fila (con fondo azul, por lo menos a mi se me ve azul)

Si es correcta tu direccion de hotmail, puede que te eche una mano por el Messenger (solo tardes).

Espero que si esta solucion no es la que deseabas, que por lo menos te haya servido para acerte una idea de lo que realmente quieres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:DataWindows

Publicado por Sergio (2 intervenciones) el 21/11/2002 12:06:41
Hola de nuevo,

Creo que ya se a que te refieres y como bien decia nuestro amigo Milson debes de tener ese campo del DW protegido. Mirate el Tab Order del DW y veras que ese campo lo tienes a 0, cambialo y ya esta.

Si quieres seguir protegiendo ese campo/columna tendras q...

Click derecho en columna --> propiedades --> edit y marcar Display Only

Comenta tus evoluciones
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:DataWindows

Publicado por Raquel (17 intervenciones) el 21/11/2002 16:06:02
No es bien bien eso, lo que necesito es que el tab order este a zero, pero que cuando yo escoja cualquier campo del datawindow este en vez de ponerse el fondo de color negro que se ponga de color azul, y otra cosa tambien necesitaria saber que cuando yo lleno un formulario y ago un retrieve de la datawindow el focus de la datawindow se me ponga encima del campo que he agragado nuevo y no en cualquier campo que tuviera marcado antes.
Espero que me haya sabido explicar bien.
Gracias de nuevo por vuestra ayuda.
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:DataWindows

Publicado por David (3 intervenciones) el 21/11/2002 17:48:57
Puedes cambiar el fonde de un campo de la siguiente forma

dw_control.Modify("Columnname.Background.Color='rgb(0,0,0)'")

esto lo puedes agregar en el itemchanged y para mandar el foco a una columna utiliza

dw_control.SetColumn(columna) la columna puede ser un numero o el nombre de la columna

espero te sirva
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

Publicado por Raquel (17 intervenciones) el 21/11/2002 17:58:36
Si que me sirve, gracias a todos por vuestra ayuda.
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

RE:Gracias

Publicado por milson cardona (613 intervenciones) el 21/11/2002 18:08:15
Un saludo especial desde COLOMBIA

lo que tu querias era cambiar el fondo de un campo o el fondo de una columna completa?.

porque la instruccion dw_1.modify('campo.background.color = RGB()')
cambiará el fondo de todos los campos de la columna.

aclarame por favor esa duda
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

Publicado por Ricardo (1957 intervenciones) el 21/11/2002 20:38:00
dw_1.modify('campo.background.color = RGB()')

Si Cambia todos los campos, como mencionas, pero si lo aplicas desde algun evento de la ventana. Si lo asignas en las expresiones del campo logras que se aplique en el momento que deseas, sea cuando estas posionado (current) o cuando pierde el foco y unicamente para ese campo de ese registro en particular, todo es cuestion de donde apliques la modificacion; de hecho desde las expresiones te ahorras utilizar el modifica y lo asignas por medio de condicionantes (IF) de forma directa a la propiedad requerida.

En fin encontró su solución.

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