FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Help for one check xbrowse RESOLVED!!
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Help for one check xbrowse RESOLVED!!
Posted: Wed Nov 12, 2014 10:11 AM
I inserted a column with a checkbox on xbrowe on 1 pos with an array data






and I wish the final user can select only one record

if he select a record the all must be noselect

Someone can help me please


this is the test to try

Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "constant.ch"

Function Test()

   Local nBottom   := 16.5
   Local nRight    := 42
   Local nWidth :=  Max( nRight * DLG_CHARPIX_W, 180 )
   Local nHeight := nBottom * DLG_CHARPIX_H
   Local oDlgOption
   Local oBrwCambi
   Local oFontOption
   Local oBtnConfirm,oBtnExit
   Local  aCambi:=  {{'Eur', 'Lit', '1936.27'}, ;
                     {'Eur', 'Us$', '0.9872' }, ;
                     {'Eur', 'Chf', '1.452'  }, ;
                     {'Eur', 'Gbp', '0.634'  }, ;
                     {'Eur', 'Jpy', '117.452'}}


  DEFINE FONT oFontOption NAME GetSysFont() SIZE 0, -8
  DEFINE DIALOG oDlgOption  SIZE nWidth, nHeight TRANSPARENT  PIXEL TITLE "Select a Value"  ;
      FONT oFontOption




      @ 5,10 XBROWSE oBrwCambi SIZE 150,90 PIXEL OF oDlgOption ;
      DATASOURCE aCambi AUTOCOLS ;
      CELL LINES NOBORDER


      oBrwCambi:aCols[1]:cHeader  := i18n("Valuta1")
      oBrwCambi:aCols[1]:nWidth   := 50

      oBrwCambi:aCols[2]:cHeader  := i18n("Valuta2")
      oBrwCambi:aCols[2]:nWidth   := 50

      oBrwCambi:aCols[3]:cHeader  := i18n("Tasso")
      oBrwCambi:aCols[3]:nWidth   := 70


    WITH OBJECT oBrwCambi:InsCol( 1 )
      :bEditValue    := { || AScan( oBrwCambi:aSelected, oBrwCambi:BookMark ) > 0 }
      :SetCheck()
      :nHeadBmpNo    := { || If( Len( oBrwCambi:aSelected ) == oBrwCambi:nLen, 1, 2 ) }
      :cHeader       := "Selez."
     END



      WITH OBJECT oBrwCambi
      :nMarqueeStyle    := MARQSTYLE_HIGHLROW
      :lMultiSelect     := .f.
      :bClrSelFocus     := { || { CLR_BLACK, CLR_HGRAY } }
      :nStretchCol      := 3
      :aCols[ 1 ]:bClrSelFocus := { ||{  CLR_BLACK, CLR_WHITE } }
      :bLClicked        := { |r,c,f,oBrwCambi| If( oBrwCambi:MouseColPos( c ) == 1 , ;
                                               If( ( f := AScan( oBrwCambi:aSelected, oBrwCambi:BookMark ) ) == 0, ;
                                                           AAdd( oBrwCambi:aSelected, oBrwCambi:BookMark ), ;
                                                           ADel( oBrwCambi:aSelected, f, .t. ) ), nil ), ;
                                                            oBrwCambi:RefreshCurrent() }

      //
      :CreateFromCode()
   END


   @ 110, 68 BUTTON oBtnConfirm  PROMPT i18n("&Confirm")   of oDlgOption ;
   SIZE 42, 12 PIXEL FONT  oFontOption DEFAULT ACTION   ( oDlgOption:end( IDOK ) )
   @ 110, 118 BUTTON oBtnExit PROMPT i18n("&Exit")  of oDlgOption;
   SIZE 42, 12 PIXEL FONT  oFontOption CANCEL  ACTION   ( oDlgOption:end( IDCANCEL ) )
   ACTIVATE DIALOG oDlgOption CENTER
   
    if oDlgOption:nresult == IDOK
         xbrowser oBrwCambi:aSelected
    endif
return nil








I tried to change this lin
:bEditValue := { || AScan( oBrwCambi:aSelected, oBrwCambi:BookMark ) =1 }

but I have problems to click on data
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Help for one check xbrowse
Posted: Sat Nov 15, 2014 11:18 AM
Code (fw): Select all Collapse
#include "fivewin.ch"

function Main()

   local oDlg, oBrw, oFont
   local nSelect     := 0
   local aCambi      :=  {{'Eur', 'Lit', '1936.27'}, ;
                          {'Eur', 'Us$', '0.9872' }, ;
                          {'Eur', 'Chf', '1.452'  }, ;
                          {'Eur', 'Gbp', '0.634'  }, ;
                          {'Eur', 'Jpy', '117.452'}}

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12
   DEFINE DIALOG oDlg SIZE 300,200 PIXEL FONT oFont
   @ 10,10 XBROWSE oBrw SIZE 130,080 PIXEL OF oDlg ;
      DATASOURCE aCambi ;
      COLUMNS { || oBrw:KeyNo == nSelect }, 1,2,3 ;
      HEADERS "", "Valuta1", "Valuta2", "Tasso" ;
      JUSTIFY .f., .f., .f., .t. ;
      COLSIZES nil, 50,50,70 ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :nMarqueeStyle    := MARQSTYLE_HIGHLROW
      :lHScroll         := .f.
      WITH OBJECT :aCols[ 1 ]
         :SetCheck()
         :nHeadBmpNo    := 2
      END
      :bLClicked  := { || nSelect := oBrw:KeyNo, oBrw:Refresh() }
      :bKeyChar   := { |nKey| If( nKey == VK_RETURN, ( nSelect := oBrw:KeyNo, oBrw:Refresh(), 0 ), nil ) }
      //
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

   ? nSelect
   if nSelect > 0
      XBROWSER aCambi[ nSelect ]
   endif

return nil
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion