In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Imagen en un tdbbowse

Foro público de Xailer en español
Responder
ddupre
Mensajes: 331
Registrado: Lun Nov 12, 2007 3:53 pm

Imagen en un tdbbowse

Mensaje por ddupre »

Hola Foro,
Espero se encuentren bien.
Necesito poner una imagen en una columna (que tiene un campo lógico) de un tdbbrwse y he buscado algún ejemplo para lograrlo pero no encuentro.
Solo encontré una publicación del sr. Ignacio (viewtopic.php?p=56240#p56240), que indica cómo hacerlo, pero me veo incapaz de poder seguir lo propuesto, solo alcancé a cargar las dos imágenes necesarias en el oImageList del browse.
Si alguien tuviera un ejemplo se lo agradecería mucho.

Saludos
Daniel
Alfonso
Mensajes: 35
Registrado: Lun Dic 14, 2020 10:21 am
Ubicación: Santurtzi
Contactar:

Re: Imagen en un tdbbowse

Mensaje por Alfonso »

Buenos días Daniel:

Y hago lo siguiente.

1. En el browse donde deseas poner la imagen, en la propiedad oImageList, carga las posibles imagenes a visualizar.
Captura de pantalla 2024-07-08 093407.png
Captura de pantalla 2024-07-08 093407.png (38.03 KiB) Visto 16085 veces
2. En la columna donde deseas poner la imagen, elige el Evento OnGetData, y crea el metodo BrwBmp.
Captura de pantalla 2024-07-08 091150.png
Captura de pantalla 2024-07-08 091150.png (24.19 KiB) Visto 16085 veces
//------------------------------------------------------------------------------
// Muestra imagen
//------------------------------------------------------------------------------

METHOD BrwBmp( oSender, Value, nImage ) CLASS TFrmPedidoVenta

Local nOpcion:= 1 // Opcion en la funcion

WITH OBJECT ::oDbCabPedVenta // Tabla de datos
IF !:Eof()
nImage:= FVerBmp(nOpcion,!Empty(Value))
ENDIF
END WITH

RETURN "" // Evita que se pinte el valor del campo al lado de la imagen

3. El metodo BrwBmp llama a la funcion FVerBmp()

//------------------------------------------------------------------------------
// Asigna Imagen
//------------------------------------------------------------------------------
// nOpcion==0 -> Numerico; nOpcion==1 -> Bolean; nOpcion==2 -> Texto

FUNCTION FVerBmp(nOpcion,nValor)

Local nBmp

DO CASE

CASE nOpcion==0 // Numerico
nBmp:=IIF(nValor<0, 1,2) // Contienen el valor de la imagen previamente cargada en la propiedad oImagenList

CASE nOpcion==1 // .f. ó .t.
nBmp:=IIF(nValor,3,4) // Contienen el valor de la imagen previamente cargada en la propiedad oImagenList

CASE nOpcion==2 // S ó N
nBmp:=IIF(nValor=="S",5,6) // Contienen el valor de la imagen previamente cargada en la propiedad oImagenList

OTHERWISE

ENDCASE

RETURN nBmp

Espero que te sirva.
--
Un saludo
Alfonso
ddupre
Mensajes: 331
Registrado: Lun Nov 12, 2007 3:53 pm

Re: Imagen en un tdbbowse

Mensaje por ddupre »

Alfonso,
Buen día,
Excelente tu ayuda!!, me sirvió perfecto.
Quedó funcionando muy bien.

Muchas gracias
Saludos
Responder