Page 1 of 1

Seleccion multiple automatica xBrowse

PostPosted: Fri Dec 08, 2023 10:37 am
by JoseAlvarez
Saludos estimados amigos del foro.

Tengo un xBrowse con los 12 meses del año.

Necesito que al ingresar un dato numerico desde un get, por ejemplo 6, se seleccionen en el xBrowse las filas desde enero a junio.

Se que debe ser algo muy simple, pero no encuentro como hacerlo.

Gracias adelantadas por la Ayuda !!

Re: Seleccion multiple automatica xBrowse

PostPosted: Fri Dec 08, 2023 4:37 pm
by nageswaragunupudi
Code: Select all  Expand view
function SelMonths1()

   local oDlg, oFont, oBrw
   local aData := Array( 12, 2 )
   local nMth  := 0

   AEval( aData, { |a,i| a[ 1 ] := NTOCMONTH( i ), a[ 2 ] := hb_RandomInt( 1000,9999 ) }  )

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
   DEFINE DIALOG oDlg SIZE 300,400 PIXEL TRUEPIXEL FONT oFont
   @ 20,20 SAY "Months :" GET nMth PICTURE "99" SIZE 100,24 PIXEL OF oDlg RIGHT ;
      VALID ( If( nMth < 0 .or. nMth > 12, .f., ( ;
         oBrw:aSelected := Array( nMth ), ;
         AEval( oBrw:aSelected, { |u,i| oBrw:aSelected[ i ] := i } ), ;
         oBrw:Refresh(), oBrw:SetFocus(), .t. ) ) )

   @ 50,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE aData AUTOCOLS LINES NOBORDER FOOTERS

   WITH OBJECT oBrw
      :nStretchCol   := 1
      :SetMultiSelectCol()
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil

 

Re: Seleccion multiple automatica xBrowse

PostPosted: Fri Dec 08, 2023 5:15 pm
by nageswaragunupudi
2nd alternative
Code: Select all  Expand view
function SelMonths2()

   local oDlg, oFont, oBrw
   local aData := Array( 12, 2 )
   local nMth  := 0

   AEval( aData, { |a,i| a[ 1 ] := NTOCMONTH( i ), a[ 2 ] := hb_RandomInt( 1000,9999 ) }  )

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
   DEFINE DIALOG oDlg SIZE 300,400 PIXEL TRUEPIXEL FONT oFont
   @ 20,20 SAY "Months :" GET nMth PICTURE "99" SIZE 100,24 PIXEL OF oDlg RIGHT ;
      VALID ( If( nMth < 0 .or. nMth > 12, .f., ( ;
         oBrw:aSelected := Array( nMth ), ;
         AEval( oBrw:aSelected, { |u,i| oBrw:aSelected[ i ] := i } ), ;
         oBrw:Refresh(), oBrw:SetFocus(), .t. ) ) )

   @ 50,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE aData AUTOCOLS LINES NOBORDER FOOTERS

   WITH OBJECT oBrw
      :nStretchCol   := 1
      :nMarqueeStyle := 6
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil
 

Re: Seleccion multiple automatica xBrowse

PostPosted: Sat Dec 09, 2023 8:40 pm
by JoseAlvarez
Thansk a lot mr Rao.

Working perfect !