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
Para Antonio Linares..
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 31
- Joined: Fri Mar 17, 2006 2:04 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
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
- Rafael Clemente
- Posts: 365
- Joined: Sat Oct 08, 2005 7:59 pm
- Location: Barcelona, Spain
Mauro:
Yo tenía el mismo problema. Prueba esto:
A mí me funciona. Suerte!
Rafael
Yo tenía el mismo problema. Prueba esto:
Code: Select all
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
Rafael
-
- Posts: 31
- Joined: Fri Mar 17, 2006 2:04 pm
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
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