Imagen en XBrowse con RecordSet

Post Reply
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Imagen en XBrowse con RecordSet

Post by jfafive »

Hola Amigos,

Tengo un problema con mi XBrowse.
Resulta que cuando intento asignarle una imagen a una columna, no hace nada (bueno en realidad sale un signo como una barra del SHIFT-7)

Lo cierto, es que me está dando problemas desde que intento poner imagenes a un XBrowse vinculado a un RecordSet.
Trabajando con SQL Server.

Tengo otras aplicaciones donde trabajaba con un XBrowse vinculado a un ARRAY y con base de datos DBF y nunca me dió problema con las imagenes.

Si alguien ha conseguido poner una imagen al XBrowse con recordset, le agradecería me diese alguna pista.

Aquí les muestro mi código:

Gracias.

Code: Select all


....
REDEFINE XBROWSE oXbr_Usr ;
   RECSET oRs ID ID_USR_XBRW OF oDlg AUTOSORT 
....

ACTIVATE DIALOG oDlg NOWAIT ;
   ON INIT ( oXbr_Usr:aCols[2]:cHeader := "Activo",;
             oXbr_Usr:aCols[3]:cHeader := "Usuario",;
             oXbr_Usr:aCols[4]:cHeader := "Password",;
             oXbr_Usr:aCols[2]:AddResource( "yes" ),;
             oXbr_Usr:aCols[2]:AddResource( "no" ),;
             oXbr_Usr:aCols[2]:bBmpData := { || 2 },; // Asigno el bitmap "no" por defecto
             oXbr_Usr:aCols[2]:bStrData := { || Iif( oRs:Fields( "campoLogico" ):Value, "Si", "No" ) },; // Asigno si o no
             oXbr_Usr:aCols[2]:bEditValue := { || .t. } )
   
 
Javier,
FWH 8.04 2008
User avatar
mchumpitazv
Posts: 49
Joined: Thu Dec 27, 2007 6:56 pm
Location: Lima -Perú

Re: Imagen en XBrowse con RecordSet

Post by mchumpitazv »

Hola Javier

¿tu campo "campologico" esta definido como de tipo bit en tu tabla SQL?

Tal vez podria forzar la consulta cambiando
oXbr_Usr:aCols[2]:bStrData := { || Iif( oRs:Fields( "campoLogico" ):Value, "Si", "No" ) },; // Asigno si o no

por

oXbr_Usr:aCols[2]:bStrData := { || Iif( oRs:Fields( "campoLogico" ):Value=.t., "Si", "No" ) },; // Asigno si o no

Saludos

Luis
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Imagen en XBrowse con RecordSet

Post by jfafive »

Hola Luis,

Pues efectivamente, tnego definido el campo logico como tipo 'bit' en mi tabla SQL Server.

Probaré tu sugerencia, a ver si da buen resultado.

Ya te comentaré como me ha ido.
Gracias. :wink:
Javier,
FWH 8.04 2008
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Imagen en XBrowse con RecordSet

Post by jfafive »

Hola de nuevo!

Ya lo probé.
Pero sigue sin dar resultado.

En realidad, esta linea de código

Code: Select all

oXbr_Usr:aCols[2]:bStrData := { || Iif( oRs:Fields( "campoLogico" ):Value=.t., "Si", "No" ) },; // Asigno si o no
 
No tiene que ver con los bitmaps, ya que lo único que hace es substituir el valor que se vé po defecto .T. o .F. por el literal "Si" o "No".

Las lineas que deberían poner el bitmap, son:

Code: Select all

oXbr_Usr:aCols[2]:AddResource( "yes" ),; // añadimos el bitmap yes
oXbr_Usr:aCols[2]:AddResource( "no" ),;  // añadimos el bitmap no
oXbr_Usr:aCols[2]:bBmpData := { || 2 },; // le decimos que muestre el segundo, es decir, "no"
 
Pero no funciona! :cry: :cry: :cry:
Javier,
FWH 8.04 2008
User avatar
anserkk
Posts: 1280
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Re: Imagen en XBrowse con RecordSet

Post by anserkk »

Dear Mr.Javier,

Code: Select all

// Alternative way to display BMP, if multiple conditions and more than 2 bitmaps are there
oBrwMenu:aCols[2]:AddResource("CheckOn")
oBrwMenu:aCols[2]:AddResource("CheckOff")

// Checkbox should be displayed only if the menu type is not a Submenu
oBrwMenu:aCols[2]:bBmpData :={ || iif(oBrwMenu:aArrayData[oBrwMenu:nArrayAt][4],0,iif(oBrwMenu:aArrayData[oBrwMenu:nArrayAt][3],1,2))  }
 
I am reading the recordset values to an array and then the array is used in xBrowse. The above code is working fine for me. I think your problem is with the management of .T. .F. from recordset and how FWH interpret the Logical value from the recordset. Are you sure that the your recordset field type is BIT ?

Regards

Anser
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Imagen en XBrowse con RecordSet

Post by jfafive »

Dear anserkk ,

Yes! My logical fields from SQL Server database is a bit type.

I'm trying to do the same like you. But widtout using array. So working directly with
the XBrowse RecordSet.
I have code samples of old applications that use an array with Xbrowse and it does works very fine.

So i think that finnally i'll back to use arrays at my Xbrowse.
Charging first the recordset values to the Xbrowse array.... i suppous ....

Any way, thank you.
Javier.
Javier,
FWH 8.04 2008
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: Imagen en XBrowse con RecordSet

Post by jfafive »

Hola de nuevo!

Al final, pude hacer un XBrowse de RecordSet que muestra imagenes.
:P :P :P

Al parecer, todo estaba bien.
Lo único es que el AUTOSORT parecía molestarle.
En cuanto lo he quitdao, ya muestra las imagenes.

Dejo el código por si a alguien le biene bien saberlo.

Un saludo.
:lol:

Code: Select all

REDEFINE XBROWSE oXbr_Usr ;
   RECSET oRs ID ID_USR_XBRW OF oDlg  // AUTOSORT
......
ACTIVATE DIALOG oDlg NOWAIT ;
   ON INIT ( oXbr_Usr:aCols[1]:cHeader := "Activo",;
             oXbr_Usr:aCols[2]:cHeader := "Usuario",;
             oXbr_Usr:aCols[3]:cHeader := "Password",;
             oXbr_Usr:aCols[1]:AddResource( "on" ),;
             oXbr_Usr:aCols[1]:AddResource( "off" ),;
             oXbr_Usr:aCols[1]:bBmpData := ;
                    { || Iif( oRs:Fields( "activo" ):Value, 1, 2 ) },;
             oXbr_Usr:aCols[2]:bStrData := ;
                { || Iif( oRs:Fields( "activo" ):Value, "si", "no" ) } )
 
Javier,
FWH 8.04 2008
Post Reply