FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse - bmp en columna (SOLUCIONADO)
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
xBrowse - bmp en columna (SOLUCIONADO)
Posted: Wed Jan 07, 2015 10:19 PM
Amigos, FELIZ 2015 y sobre todo muuuucho codigo (vendido! :-))

Intento mostrar en un xbrowse de campos de dbf, una columna con un bmp, bajo condición de seleccion
Se que puedo hacerlo con un campo verdadero/falso, pero mi por razones de DBF compartida, intento otra opción.
El codigo del xBrowse es:
Code (fw): Select all Collapse
   REDEFINE XBROWSE oLstChq ID BRW_XBRW OF oDlg ;
            COLUMNS "FDETCHQ02", "FDETCHQ04", "FDETCHQ05", nil   ;
            HEADERS "DocNro",    "FeVencim",  "Monto", "Check" ;
            ALIAS   h0["DetaCheq32"]:cAlias

Sin manipular la columna Check, muestra nil, o sea no da error. Para definir la selección utilizo un Hash
Code (fw): Select all Collapse
if( HHasKey( hSelect, h0["DetaCheq32"]:RecNo() ), HDel( hSelect, h0["DetaCheq32"]:Recno() ), ;
                                                HSet( hSelect, h0["DetaCheq32"]:Recno(), h0["DetaCheq32"]:Recno() ) ), ;

O sea que la idea sería:
Code (fw): Select all Collapse
if( HHasKey( hSelect, h0["DetaCheq32"]:RecNo() ), "bmp", "")

Mirando samples, estoy intentando definir la columna, mediante:
Code (fw): Select all Collapse
   WITH OBJECT oLstChq:Check
      :nEditType       := TYPE_IMAGE
      :lBmpStretch     := .f.
      :lBmpTransparent := .t.
      :AddResource( "bmp_Ok2" )
      :cHeader      := ""
      :nHeadBmpAlign:= :nDataBmpAlign:= AL_CENTER
      :nHeadBmpNo   := 1

      :bStrImage       := {|| if( HHasKey( shSelect, h0["DetaCheq32"]:RecNo() ), "bmp_Ok2", "" )  }
   END

pero evidentemente no es la forma.
Se puede?, como?
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: xBrowse - bmp en columna
Posted: Thu Jan 08, 2015 09:17 PM

Sin novedad? :(
No se entiende o no se puede?

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: xBrowse - bmp en columna
Posted: Thu Jan 08, 2015 10:03 PM
This is another alternative:
Code (fw): Select all Collapse
local oDlg, nAt, aSelected := {} 

REDEFINE XBROWSE oLstChq ID BRW_XBRW OF oDlg ;
         COLUMNS "FDETCHQ02", "FDETCHQ04", "FDETCHQ05", nil   ;
         HEADERS "DocNro",    "FeVencim",  "Monto", "Check" ;
         ALIAS   h0["DetaCheq32"]:cAlias

WITH OBJECT oBrw
   WITH OBJECT :Check
      :bEditValue := { |x| nAt := AScan( aSelected, oBrw:BookMark ), ;
                           If( x == nil, nAt > 0, ;
                           If( nAt == 0, AAdd( aSelected, oBrw:BookMark ), ADel( aSelected, nAt, .t. ) ) ) }
      :SetCheck( { "bmp_Ok2", "" },.t.)
   END
   //
   :bLDblClick    := { || oBrw:Check:CheckToggle() }
   :CreateFromCode()
END
Regards



G. N. Rao.

Hyderabad, India
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: xBrowse - bmp en columna
Posted: Fri Jan 09, 2015 01:00 PM

GREAT!
many thanks!!

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: xBrowse - bmp en columna
Posted: Mon Jan 12, 2015 11:34 PM
La manera que pretendía! (Another way!):
Code (fw): Select all Collapse
    REDEFINE XBROWSE oLstChq ID BRW_XBRW OF oDlg ;
            COLUMNS "FDETCHQ02", "FDETCHQ04", "FDETCHQ05", nil   ;
            HEADERS "DocNro",    "FeVencim",  "Monto", "Check" ;
            ALIAS   h0["DetaCheq32"]:cAlias

   WITH OBJECT oLstChq
      :nMarqueeStyle:= MARQSTYLE_HIGHLROW
      :lFooter      := TRUE
      :lHScroll     := FALSE

      :bKeyDown  := {|nK| if( nK==VK_SPACE, ;
                              ( nTotSelec += if( !HHasKey( shSelect, h0["DetaCheq32"]:RecNo() ), ;
                                                                     h0["DetaCheq32"]:FDETCHQ05, -h0["DetaCheq32"]:FDETCHQ05 ), ;
                                if( !HHasKey( shSelect, h0["DetaCheq32"]:RecNo() ), ;
                                     HSet( shSelect, h0["DetaCheq32"]:Recno(), h0["DetaCheq32"]:Recno() ), ;
                                     HDel( shSelect, h0["DetaCheq32"]:Recno() ) ), ;
                                oLstChq:Check:CheckToggle(), ;
                                oLstChq:GoDown(), oLstChq:Refresh() ), ) }
   END
   WITH OBJECT oLstChq:Check
      :bEditValue := { |x| x:= HHasKey( shSelect, h0["DetaCheq32"]:RecNo() ) }
      :SetCheck( { "bmp_Ok2", "" },.t.)
   END

Gracias Nageswaragunupudi
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina

Continue the discussion