Page 1 of 1

ListBox con busqueda incremental?

PostPosted: Mon Dec 19, 2022 5:33 pm
by Armando
Saludos al foro:

Necesito su amable ayuda con un ejemplo de un listbox con busqueda incremental, me explico
un poco mas:

Necesito que en un listbox, u otro control, se muestre toda la lista de productos en venta y a medida que el
usuario va tecleando el nombre del producto la lista se vaya reduciendo a solo los productos que cumplen con
los caracteres que el usuario tecleo.

Espero haberme explicado.

Felices fiestas

Re: ListBox con busqueda incremental?

PostPosted: Mon Dec 19, 2022 6:04 pm
by karinha
Use la busqueda de xBrowse().

Regards, saludos.

Re: ListBox con busqueda incremental?

PostPosted: Mon Dec 19, 2022 9:04 pm
by cmsoft
Armando, usas MySql o DBF?

Re: ListBox con busqueda incremental?

PostPosted: Mon Dec 19, 2022 9:26 pm
by Armando
Hola César:

MySql con ADO.

Saludos y gracias

Re: ListBox con busqueda incremental?

PostPosted: Tue Dec 20, 2022 10:14 am
by nageswaragunupudi
Use XBrowse's incremental filter feature.

Re: ListBox con busqueda incremental?

PostPosted: Tue Dec 20, 2022 4:59 pm
by Armando
Mr. Rao:

I have never used xBrowse's incremental search, ¿would you mind doing a little example?

Best regards

Re: ListBox con busqueda incremental?

PostPosted: Tue Dec 20, 2022 6:16 pm
by JoseAlvarez
Armando,

Al igual que tu, siempre use listbox, hasta que decidi saltar a xbrowse. Es la mejor idea, ahora bien, si decides seguir con listbox, tengo una busqueda ya hecha y funciona bien, pero estoy fuera de la ciudad y regreso la proxima semana.

Puedo enviartela a mi regreso. Dejame tu correo.

Re: ListBox con busqueda incremental?

PostPosted: Wed Dec 21, 2022 1:22 am
by Armando
José:

Muchas gracias, mi correo es estbucarm@gmail.com

Todo apoya.

Saludos

Re: ListBox con busqueda incremental?

PostPosted: Wed Dec 21, 2022 9:22 am
by leandro
Amigo buenos días como estas?

Creo que este ejemplo te puede servir, basado en xbrado.prg en la carpeta de samples

Code: Select all  Expand view

/*
*
*  XbrADO.Prg
*  03-01-2011 07:58 PM
*
*/


#include "FiveWin.Ch"
#include "adodef.ch"
#include "ord.ch"
#include "xbrowse.ch"

//----------------------------------------------------------------------------//

REQUEST DBFCDX

static oCon

//----------------------------------------------------------------------------//

function Main()

   local oDlg, oBrw, oFont
   local oRs

   DEFINE FONT oFont NAME 'TAHOMA' SIZE 0,-12
   DEFINE DIALOG oDlg SIZE 900,500 PIXEL FONT oFont

   oRs   := GetRecSet()

   @ 20,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      COLUMNS "FIRST - (' ' + LAST)", ;
         'City','Salary', ;
         'Round( ( DATE()-HIREDATE ) / 365, 0 )', ;
         "SALARY * 1.1" ;
      HEADERs "Name", nil, nil, 'Experience', 'RevdSal' ;
      DATASOURCE oRs ;
      CELL LINES NOBORDER FOOTERS

   WITH OBJECT oBrw
      :Salary:nFooterType           := ;
      :RevdSal:nFooterType          := AGGR_SUM
      :RevdSal:cEditPicture         := NumPict( 12, 2 )
      :Experience:cEditPicture      := "999 Yrs"
      :Experience:nFooterTypE       := AGGR_AVG
      :nStretchCol              := 1
      :MakeTotals()
      :lAutoSort                := .t.
      :lIncrFilter              := .t.
      :lSeekWild                := .t.   
      :cFilterFld               := "FIRST"
   END

   oBrw:CreateFromCode()

    @ 10,10 SAY oBrw:oSeek PROMPT alltrim(oBrw:cSeek) SIZE 150,10 PIXEL OF oDlg


   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

   oCon:Close()

return (0)

//----------------------------------------------------------------------------//

init procedure PrgInit

   SET DATE ITALIAN
   SET CENTURY ON
   SET TIME FORMAT TO "HH:MM:SS"
   SET EPOCH TO YEAR(DATE())-50

   SET DELETED ON
   SET EXCLUSIVE OFF

   RDDSETDEFAULT( "DBFCDX" )

   XbrNumFormat( 'I', .t. )
   SetGetColorFocus()

return

//----------------------------------------------------------------------------//

static function ConnectToAccess

   local oCat, aTables, n
   local lConnect := .f.
   local cStr   := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ;
            cFilePath( hb_argv( 0 ) ) + "xbrtest.mdb;User Id=admin;Password=;"

   if oCon == nil
      oCon                     := TOleAuto():new("ADODB.Connection")
      oCon:ConnectionString   := cStr
      TRY
         oCon:Open()
         lConnect := .t.
      CATCH
         oCon                  := nil
         MsgInfo('Connect Fail')
         return nil
      END
   else
      lConnect := .t.
   endif

return lConnect

//----------------------------------------------------------------------------//

static function GetRecSet

   static oRs

   local oRecSet

   ConnectToAccess()

   if oCon != nil .and. oRs == nil
      oRs                     := TOleAuto():new( "ADODB.RecordSet" )
      oRs:ActiveConnection    := oCon
      oRs:Source              := 'CUSTOMER'
      oRs:LockType            := 4            // adLockOptimistic
      oRs:CursorLocation      := 3            //adUseClient
      oRs:CacheSize           := 100
      TRY
         oRs:Open()
      CATCH
         MsgInfo('Access Table Open Failure')
         return nil
      END
   endif

   oRecSet         := oRs:Clone()
   if oRs:RecordCount() > 0
      oRecSet:Sort   := oRecSet:Fields(0):Name
      oRecSet:MoveFirst()
   endif




return oRecSet
//-------------------------------------------------------------------------//
 

Re: ListBox con busqueda incremental?

PostPosted: Wed Dec 21, 2022 12:50 pm
by karinha
JoseAlvarez wrote:Armando,

Al igual que tu, siempre use listbox, hasta que decidi saltar a xbrowse. Es la mejor idea, ahora bien, si decides seguir con listbox, tengo una busqueda ya hecha y funciona bien, pero estoy fuera de la ciudad y regreso la proxima semana.

Puedo enviartela a mi regreso. Dejame tu correo.


José, por favor: kapiabafwh@gmail.com

Feliz navidad para ti y tu familia mi querido amigo.

Regards, saludos.

Re: ListBox con busqueda incremental?

PostPosted: Sat Dec 24, 2022 5:12 pm
by JoseAlvarez
Saludos estimados amigos.

Deseando que pasen todos una Bendecida y bonita Noche Buena y Reciban una feliz Navidad.

Armando y Joao. Ya les envié el codigo de la busqueda a sus correos.

Espero puedan mejorarlo y publicarlo para cualquier otro compañero que pueda necesitarlo.

Un gran abrazo a todos.