Para Antonio Linares..

Para Antonio Linares..

Postby un_jeepero » Fri Sep 21, 2007 12:50 am

Hola Antonio, no queria molestarlo con este problema. Pero llevo tiempo con esto y no logro encontrar una solución o al menos saber si se puede o no para no seguir intentandole jajaja.

Estoy utilizando TXbrowse con arrays y necesito poner un Bitmap que cambie de estado, solo me funciona al trabajar directo desde la dbf.... como en el ejemplo adjunto.

Directo de la DBF, Funciona correctamente.

::oBrw := TXBrowse():New( ::oWnd )
::oBrw:cAlias := DBF_GIRBAN:cAlias
::oCol := Array( 01 )
::oCol[01] := ::oBrw:AddCol()
::oCol[01]:cHeader := "Conciliado"
::oCol[01]:AddResource( "CHECK_SI" )
::oCol[01]:AddResource( "CHECK_NO" )
::oCol[01]:bBmpData := { || IF( DBF_GIRBAN:ESTGIR == .T. , 1, 2) }
::oCol[01]:BStrData := { || "" }
::oCol[01]:nWidth := 60
::oBrw:CreateFromCode()
....
....
Desde un Array, NO muestra el BMP

WITH OBJECT ::oBrw
:SetArray( AR_DATOS, .T. )
WITH OBJECT :aCols[ ESTADO ]
:cHeader := "Conciliado"
:AddResource( "CHECK_SI" )
:AddResource( "CHECK_NO" )
:bBmpData := { || IF(Len(AR_DATOS) >0, (IF ( AR_DATOS[::oBrw:nArrayAt][ESTGIR] == .T. , 1, 2) ), NIL) }
:bStrData := { || ""}
:nWidth := 40
END
END
...
...
muchas gracias

Salu2

Mauro
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Postby Antonio Linares » Fri Sep 21, 2007 7:32 am

Prueba con una expresión más simple para asegurarte:

:bBmpData := { || IF( ::oBrw:nArrayAt == 1, 1, 2 ) }
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41949
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby un_jeepero » Fri Sep 21, 2007 1:43 pm

Antonio, primero muchas gracias por responder..
He probado de varias formas incluso como me indicas e igual no funciona.
:bBmpData := { || IF( ::oBrw:nArrayAt == 1, 1, 2 ) }

Talves TXBrowse no permite el uso de Bmp al utilizar arrays de datos??
alguien lo habra utilizado de esta forma??

sigo en espera de alguna otra solución...

salu2

Mauro
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Postby Rafael Clemente » Tue Oct 30, 2007 6:55 pm

Mauro:
Yo tenía el mismo problema. Prueba esto:
Code: Select all  Expand view
etc .................
       oBrw:aCols[i]:AddResource("MARCA_ON")
       oBrw:aCols[i]:AddResource("MARCA_OFF")
       oBrw:aCols[i]:bBmpData      := { || FnMarca(oBrw, i) }
       oBrw:aCols[i]:nHeadBmpNo    := 3
       oBrw:aCols[i]:nHeadBmpAlign := AL_LEFT
       oBrw:aCols[i]:cHeader       := ""
etc ..............

// --------------------------------------------------------
Static Function FnMarca(oBrw, i)
Local n := oBrw:nArrayAt
Local nBmp
If oBrw:aArrayData[n, 3] = "S"   // mi tercera columna es el CheckOn/Check Off
    nBmp := 3      // Parece que los resursos 1 y 2 son los indicadores de sort up/down
Else
    nBmp := 4
Endif
Return nBmp


A mí me funciona. Suerte!
Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby un_jeepero » Wed Oct 31, 2007 1:03 am

Rafael, te pasaste por la información funciono perfecto solo me faltaba cambiar 3, 4 los indicadores.

WITH OBJECT :aCols[ESTADO]
:AddResource( "CHECK_ON" )
:AddResource( "CHECK_OFF" )
:bBmpData := { || IF( AR_MES[::oBrw:nArrayAt][ESTADO ] == .T., 3, 4) }
END
tenia mucho tiempo con esta cosa, super agradecido con tu información

salu2

Mauro
un_jeepero
 
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: albeiroval, cmsoft and 34 guests