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
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.
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
Re: Imagen en un tdbbowse
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. 2. En la columna donde deseas poner la imagen, elige el Evento OnGetData, y crea el metodo BrwBmp. //------------------------------------------------------------------------------
// 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.
Y hago lo siguiente.
1. En el browse donde deseas poner la imagen, en la propiedad oImageList, carga las posibles imagenes a visualizar. 2. En la columna donde deseas poner la imagen, elige el Evento OnGetData, y crea el metodo BrwBmp. //------------------------------------------------------------------------------
// 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
Un saludo
Alfonso
Re: Imagen en un tdbbowse
Alfonso,
Buen día,
Excelente tu ayuda!!, me sirvió perfecto.
Quedó funcionando muy bien.
Muchas gracias
Saludos
Buen día,
Excelente tu ayuda!!, me sirvió perfecto.
Quedó funcionando muy bien.
Muchas gracias
Saludos