Page 1 of 1

una de xBrowse SOLUCIONADO!!!

Posted: Mon Oct 27, 2008 12:27 pm
by Ricardo Ramirez E.
para campos lógicos estoy intentanto colocar un .BMP en vez del valor del campo

defino la primera columna de xBrowse asi :

Code: Select all

ADD  COLUMN  oCol TO oBrwCTA ;
        AT 1 ;
        DATA {|| ::oCta:lFactura} ;
        TITLE "Factura?" SIZE 70
luego hago asi... antes de activar el dialogo..


Code: Select all

oBrwCTA:aCols[1]:SetCheck( { "ON", "OFF" } )
Al ejecutar la Txbrowse me dice "Method Valid only for logical values"
como si el campo no fuese lógico...
revisé el ejemlo testxbr3.prg mas no doy con el problema.. no es mi dia
Alguna luz?
:(

Posted: Mon Oct 27, 2008 12:59 pm
by EderXc

Code: Select all

oCol2:=obrw2:addcol()
ocol2:AddResource("BMP_BAIXA")
ocol2:AddResource("BMP_ATIVO")
oCol2:bBmpData:={||iif(E->Baixa="BAIXA",1,2)}
oCol2:cHeader:="Controle"+ CRLF + "baixa/ativo"
aqui estas ..

Posted: Mon Oct 27, 2008 1:14 pm
by Daniel Garcia-Gil
coloca el codigo completo, para ver como creas el xbrowse y poder determinar que problema no esta en otro lado

Posted: Mon Oct 27, 2008 1:22 pm
by Ricardo Ramirez E.
Set Portugues ON
Eder, obrigado serviu o exemplo, mais acho que é possível também, usando o Method SetCheck
Set Portugues OFF

Daniel.
El xBrowse esta definido asi :

Code: Select all

oBrwCTA := TXBrowse():New( oDlg )
   oBrwCTA:CreateFromResource( 101 )
   oBrwCTA:nMarqueeStyle := MARQSTYLE_HIGHLROW
   oBrwCTA:bClrSelFocus := {|| { CLR_WHITE, CLR_BLUE } }
   oBrwCTA:cAlias := (::oCta:cAlias)
   oBrw:l2007 := .T.
   oBrwCta:SetoDbf( ::oCta )
   oBrwCta:bChange:={|| ::oCta:Load}

    ADD  COLUMN  oCol TO oBrwCTA ;
        AT 1 ;
        DATA {|| ""} ;
        TITLE "Factura" SIZE 70
donde ::oCta es un objeto TDATABASE

Posted: Mon Oct 27, 2008 1:39 pm
by Daniel Garcia-Gil
Ricardo Ramirez E. wrote:
Daniel.
El xBrowse esta definido asi :

Code: Select all

oBrwCTA := TXBrowse():New( oDlg )
   oBrwCTA:CreateFromResource( 101 )
   oBrwCTA:nMarqueeStyle := MARQSTYLE_HIGHLROW
   oBrwCTA:bClrSelFocus := {|| { CLR_WHITE, CLR_BLUE } }
   oBrwCTA:cAlias := (::oCta:cAlias)
   oBrw:l2007 := .T.
   oBrwCta:SetoDbf( ::oCta )
   oBrwCta:bChange:={|| ::oCta:Load}

    ADD  COLUMN  oCol TO oBrwCTA ;
        AT 1 ;
        DATA {|| ""} ;
        TITLE "Factura" SIZE 70
donde ::oCta es un objeto TDATABASE
me imagino que debria ser asi...

Code: Select all

oBrwCta:bChange:={|| ::oCta:Load()} //==>los parentesis

ADD  COLUMN  oCol TO oBrwCTA ;
        AT 1 ;
        DATA {|| ::oCta:lFactura} ;
        TITLE "Factura?" SIZE 70 editable;
        ON EDIT {|o,x,n| ::oCta:lFactura := x }

oBrwCTA:aCols[1]:SetCheck( { "ON", "OFF" } )

[/code]

Posted: Mon Oct 27, 2008 1:42 pm
by Ricardo Ramirez E.
Daniel... no necesito editar el campo logico
solo mostrar un BMP segun sea el caso....

pensé que colocando

oBrwCTA:aCols[1]:SetCheck( { "ON", "OFF" } )

era suficiente :(

Posted: Mon Oct 27, 2008 2:25 pm
by Daniel Garcia-Gil
Ricardo Ramirez E. wrote:Daniel... no necesito editar el campo logico
solo mostrar un BMP segun sea el caso....

pensé que colocando

oBrwCTA:aCols[1]:SetCheck( { "ON", "OFF" } )

era suficiente :(
si debe ser suficiente...
disculpa la pregunta, pero debo hacerla de todas formas, estas seguro que lFactura es un campo loogico, ya revisaste eso? muchas veces se nos escapa la liebre por donde menos pensamos

Posted: Mon Oct 27, 2008 4:24 pm
by Ricardo Ramirez E.
Daniel...
gracias.. x responder; si el campo es de tipo lógico y los bmp's tambien existen en el archivo de tipo .RES. Revisando y depurando el Method SetCheck me di con la sorpresa.. que
para determinar el tipo de valor de la data de la columna hay esto

Code: Select all

LogiVal := ( ValType( Eval( ::bEditvalue ) ) == 'L' )
en mi caso..para el valor de tipo de LogicVal daba = "C"

asigné este valor a la data bEditValue para la primera columna

Code: Select all

 oBrwCTA:aCols[1]:bEditValue := { || (::oCta:cAlias)->lFactura }
y ahora ya se pintan los bitmaps. :P

Entonces... es necesario asignar un valor a bEditValue? mismo no necesite editar ? :( uso ya muchos años la TSbrowse... aun no domino la txbrowse :(

Alguien puede explicar esto? suponía que bEditValue se asignaba el solo de acuuerdo a la data de la columna.

Saludos.! :P

Posted: Mon Oct 27, 2008 6:27 pm
by Antonio Linares
Ricardo,

La Clase TXbrowse es muy potente pero tambien resulta bastante compleja :-)