Imagen condicional en Xbrowse

Post Reply
JoseLuis
Posts: 359
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Imagen condicional en Xbrowse

Post by JoseLuis »

Buenos dias

Tengo este codigo

Code: Select all

        cAlias:= aAlias[24]

    @ 30, 0  XBROWSE oLbx OF oDlg;
    AUTOCOLS ALIAS cAlias UPDATE AUTOSORT LINES  ;
        COLUMNS "Estado","Albaran","Fecha","Pro","Pobla","CR","Prou","Pobla1","Baseimpo","kkilos","kilos","Factura","Codart","Tipo","Orden","nConductor","n_reexp","Spro","Graba","Operador";
    HEADERS "F"," Numero ", " Fecha ", " Cliente ", "Pobla", "T","Origen/Destino", "Pobla", " Importe ", " Bult. ", " Kilos "," Factura "," Tarifa ","Tipo","Orden"," Conductor " ,"Reexpedido","SPro","Fhora"," Operador ";
        ON LEFT DBLCLICK  (iif(!(aAlias[24])->(eof()) .and. Publicas:cAccesoM,(cTitulo:="Visualización de Albaranes ",Entalba1(cTitulo,"V",,aAlias),oLbx:Refresh()),.T.))
     for n := 1 to Len( oLbx:aCols )
      if oLbx:aCols[ n ]:cDataType == 'M'
         oLbx:aCols[ n ]:bStrData = GenLocalBlock( oLbx:aCols, n )
      endif
   next

        WITH OBJECT oLbx
    :lRecordSelector  := .F. // poner o no, columna de la flechita de la izquierda
        :nColDividerStyle := LINESTYLE_INSET
        :nRowDividerStyle := LINESTYLE_INSET
    :SetFocus()
    :SetChecks()
    :nColDividerStyle  := LINESTYLE_LIGHTGRAY //BLACK
        :lColDividerComplete := .t.
        :bClrStd:= { || { CLR_BLACK, If( oLbx:KeyNo % 2 == 0, nRGB(242,247,252),nRGB(226,226,208) ) } }
        :nMarqueeStyle := MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
    :aCols[ 1 ]:nEditType       := TYPE_IMAGE
        :aCols[1]:AddResource("BMPENABLE")
        :aCols[1]:AddResource("BMPDISABLE")
        :aCols[1]:bBmpData := {|| Iif((cAlias)->Estado == 1 , 1 ,2 ) }
        :aCols[1]:lBmpStretch     := .t.
        :aCols[1]:lBmpTransparent := .T.
        :aCols[1]:nDataBmpAlign   := AL_LEFT
    END

        oDlg:oClient = oLbx
        oDlg:oControl = oLbx

    oLbx:CreateFromCode()
 
Y mi problema viene de que en la condición que doy en lBmpData, siempre me pone el Bmp numero 2, ya sea cuando (cAlias)->Estado tenga como valor 1 o cuando tenga como valor 2, siempre me pone el Bmp numero 2

Que puedo estar haciendo mal?

compilo para xharbour
Fwh Noviembre de 2015

Un saludo
--------------------------
Saludos

Jose Luis
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Imagen condicional en Xbrowse

Post by Armando »

José Luis:

Algo parecido me pasaba y lo resolví así, en

Code: Select all

:aCols[1]:bBmpData := {|| DameBmp() }

……
…..

STATIC FUNCTION DameBmp()
     IF (cAlias)->Estado == 1
         RETURN(1)
     ELSE
         RETURN(2)
     ENDIF
RETURN(2)
 
Ojala también te funcione

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
JoseLuis
Posts: 359
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: Imagen condicional en Xbrowse

Post by JoseLuis »

Buenos dias

He probado y sigo en la misma situación, también he probado a llamar a los bmp desde el disco fisico, no desde recursos y estamos igual, siempre me pone el bmp que ponga en segundo lugar, no hace caso a la condicion if.

Así que de momento vuelvo en todas las pantallas que necesiten un bmp condicional a la clase wbrowse, que me está funcionando.

Un saludo
--------------------------
Saludos

Jose Luis
User avatar
Manuel Aranda
Posts: 561
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Imagen condicional en Xbrowse

Post by Manuel Aranda »

Hola José Luís:

A mí este código me funciona bien, aunque no difiere mucho del tuyo:

Code: Select all

   oCol := oLbx:AddCol()
   oCol:AddResource("LEVELB")
   oCol:AddResource("LEVELR")
   oCol:bBmpData   := { || IIF(EMPRESAS->Inactiva = .F.,1,2 )}
 
Un saludo,
Manuel

xH 1.2.3, FWH 14.09, BC++ 5.8.2, xVerce CW 1.0, PellesC
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Imagen condicional en Xbrowse

Post by FranciscoA »

José Luis:
Yo lo uso sin :aCols[ 1 ]:nEditType := TYPE_IMAGE, y me funciona. ( en FW1204 )
Intentalo.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: Imagen condicional en Xbrowse

Post by nageswaragunupudi »

Please remove

Code: Select all

    :aCols[ 1 ]:nEditType       := TYPE_IMAGE
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
Busmatic_wpb
Posts: 162
Joined: Wed Feb 22, 2017 2:19 am

Re: Imagen condicional en Xbrowse

Post by Busmatic_wpb »

Buenas , estimado yo lo hago asi

WITH OBJECT :COCHE
:AddResource( "#1006" )
:AddResource( "#1007" )
:bBmpData := { || if ( ALLTRIM((oP:Situavl:fieldget(12)) ) == "FS" , 1, 2 ) }
:nHeadStrAlign = AL_CENTER
:oHeaderFont = fontB1
:oDataFont = fontB1
END
suerte..
Regards.
S.I.T.U.
Sistemas Inteligentes de transporte urbano
http://www.situcr.com
_@Situcr.com
Desarrollos BA4/B4j androide
oliveiros junior
Posts: 84
Joined: Tue Mar 20, 2007 3:13 pm

Re: Imagen condicional en Xbrowse

Post by oliveiros junior »

Olá,

coloque também :bData := { || "" }, já aconteceu isso comigo e resolveu assim.

Att.,

Oliveiros Junior
JoseLuis
Posts: 359
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: Imagen condicional en Xbrowse

Post by JoseLuis »

Buenas

Muchas gracias a todos.

Os pongo imagenes descriptivas, la primera columna es donde tiene que aparecer el bmp.

Con TYPE_IMAGE:
Imagecon type by Jose Luis Garcia, en Flickr


Sin TYPE_IMAGE:
Imagesin type by Jose Luis Garcia, en Flickr


Con Wbrowse:
Imagecon wbrowse by Jose Luis Garcia, en Flickr

De momento lo dejo así.

Un saludo
--------------------------
Saludos

Jose Luis
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Imagen condicional en Xbrowse

Post by remtec »

No se si aun puede servir, pero yo lo hago asi.

Atte.

Antonio

Code: Select all

                 REDEFINE XBROWSE oDlg5 ALIAS "&nro_usu2" FIELDS ;
                    Nro_bon,;
                    OemToAnsi(Nom_pac);
                    HEADERS;
                    "Nro. Guia",;
                  "Nombre del Paciente" ;
                    PICTURES '9999999999','@!' ;
                    ID 405 OF oDlg5 ;
                        FONT oFont1;
                        FOOTERS LINES CELL
                        oDlg5:nFreeze:=1


                    oCol := oDlg5:AddCol()
                    oCol:AddResource("#8013")
                    oCol:AddResource("#8014")
                        oCol:cHeader = "Est."
 
Post Reply